Author |
Thread Statistics | Show CCP posts - 2 post(s) |

Amida Ta
|
Posted - 2007.12.08 02:14:00 -
[1]
Had some time to fiddle around a bit and here is the result:
A .Net 2.0 class library to easily access the EVE APIs named EveAI Live.
Using the library is very simple e.g.: EveApi api = new EveApi (); List<Alliance> alliances = api.GetAllianceData ();
This is version 0.1 Preview. Feel free to use it and if you like it send some ISK to me. The Archive come with a small example application that simply displays the retrieved data.
EveAI.Live 0.1 Preview
Please note that not everything is working because the library is already prepared for the EVE API 2 which is not active yet.
|

Amida Ta
|
Posted - 2007.12.16 15:42:00 -
[2]
Edited by: Amida Ta on 16/12/2007 15:43:01 EveAI.Live 0.2 Preview has been released. It is mostly feature complete and contains the entire Eve v2 API (minus a few problems - see below).
It comes together with a test application that can query most of the v2 APIs and displays an object-oriented result view.
EveAI.Live 0.2 Preview
Unfortunatelly I don't have access to a reasonably big set of results for: KillLog, StarbaseDetail and StarbaseList APIs, so these are only halfway finished and completely untested. Please supply some DataFiles if possible.
With this version the default cache directory changed to Application Data\EveAI
|

Amida Ta
|
Posted - 2007.12.17 07:39:00 -
[3]
Edited by: Amida Ta on 17/12/2007 07:45:49
Originally by: Vincent Liftor Tried to download the EveAI 0.2 preview but I'm getting an error trying to expand the EveAI.Core.dll file. The specific error is: 0x80004005: Unspecified error. Helpful, huh?
Thanks for the info. Just tried and it seems that the file became corrupt on eve-files...
|

Amida Ta
|
Posted - 2007.12.17 08:05:00 -
[4]
Edited by: Amida Ta on 17/12/2007 08:06:26
Originally by: Amida Ta Edited by: Amida Ta on 17/12/2007 07:45:49
Originally by: Vincent Liftor Tried to download the EveAI 0.2 preview but I'm getting an error trying to expand the EveAI.Core.dll file. The specific error is: 0x80004005: Unspecified error. Helpful, huh?
Thanks for the info. Just tried and it seems that the file became corrupt on eve-files...
Something is really fishy with eve-files. Tried to upload again and the file again became corrupted. Now I reduced the compression of the ZIP-file and everything seems to work -> Very strange...
Working URL is (replaced the old one): EveAI.Live 0.2 Preview
|

Amida Ta
|
Posted - 2007.12.18 23:07:00 -
[5]
For which API? The manual region lookup is not yet implemented. But you can simply browse the objects to get the region data. E.g. if you have the SovereignityData you will get the Region name with: sov.SolarSystem.Region.Name
|

Amida Ta
|
Posted - 2007.12.19 23:07:00 -
[6]
Additional info is available here: http://wiki.eve-dev.net/EveAI
|

Amida Ta
|
Posted - 2007.12.20 16:50:00 -
[7]
Originally by: Skolima I'm still getting a "corrupted zip file" error when trying to extract the 0.2 Preview.
Works for me. Maybe try to delete your cache.
|

Amida Ta
|
Posted - 2008.01.05 17:48:00 -
[8]
EveAI.Live 0.9 Preview has been released. It is basically feature complete and contains the entire Eve v2 API (minus a few problems - see below).
It comes together with a test application that can query most of the v2 APIs and displays an object-oriented result view.
EveAI.Live 0.9 Preview
I'm still missing XML files for: KillLog, StarbaseDetail and StarbaseList APIs, so KillLog and StarbaseList is untested and StarbaseDetail is incomplete. Please supply some DataFiles if possible.
|

Amida Ta
|
Posted - 2008.01.05 17:49:00 -
[9]
Originally by: La Dudette Hi there!
First of all, this is a great effort and very useful. A quick question around starbases details though:
The method GetCorporationStarbaseDetail() does not take a starbase ID as parameter. How do you intend it to be used?
I have not got round to using the method yet, awaiting director flag, but will want to soonish. I can then help you complete the POS API if you want.
That would be nice, however currently there is no method of specifying the starbaseID, as I have no data to test it.
|

Amida Ta
|
Posted - 2008.01.06 13:49:00 -
[10]
Originally by: Xaroth Brook Seeing as I don't have time to test this right now (as there's no source to fiddle with and this work puter doesn't do .net 2.0) (stupid terminals). How is the caching done, one generic file, or numerous files, and if so, what's the confinement of em (I'm trying to get some ideas of building a cache server for myself since I tend to swap places quite a bit)
You can configure the cache directory to your linkings. Default is the application settings directory (Also see the link to eve-dev a few posts up). The cache files are very similar to the original files that the server sends except query information gets coded in and some additional fields are added (like Timezone offsets and stuff).
|

Amida Ta
|
Posted - 2008.01.07 20:37:00 -
[11]
Edited by: Amida Ta on 07/01/2008 20:42:43
Originally by: Sister Madeline Also, if you try to look at one char's character sheet, then try to do the same for another character on the same account you will get the other char's sheet info, as it's saying "NotUpdatedCacheActive"
While at the same time i do see that the charactersheet file is named 'properly'.
This should be fixed in the next release. The memory cache was not properly invalidated.
Originally by: Sister Madeline
I tested this, if you supply an erroneous api key it will still return the 'proper' info, as such bypassing api security.. it might be useful to use encryption for this.
This is by design. It will return cached data if it can retrieve it. The data is stored in your user profile, so it is save in your profile. And if anybody can fully access your computer account then there is no sense in using encryption either because you could easily bypass it.
|

Amida Ta
|
Posted - 2008.01.07 20:45:00 -
[12]
Originally by: La Dudette
I persistently get "ClientMissingCacheFile". I deleted the EveAI directory in application data, same result. (Quick edit: I probably misunderstood how the error handling is supposed to work. Do you want us to check api.Result first and then errors? And if the results is not Error, the "errors" are not really errors?)
This is by design. You should now only need to check the Result. Errors just contains various information about what went wrong internally (e.g. that no Cachfile is existing or that it has an invalid structure and so on).
|

Amida Ta
|
Posted - 2008.01.07 23:17:00 -
[13]
Just uploaded a small update (Version 0.9.1):
EveAI.Live 0.9.1 Preview
|

Amida Ta
|
Posted - 2008.01.09 22:36:00 -
[14]
Edited by: Amida Ta on 09/01/2008 22:41:04 Ok, the details should now work, too. I also added a LastUpdateTime property (Last API update in local time), however I don't like those Last* properties altogether in the simple mode API (the complex one had this for ages). It might be interesting to add a property like remaining time for the starbase-resources anyways.
EveAI.Live 0.9.2 Preview
Some other small changes as well, but you'll see ;)
|

Amida Ta
|
Posted - 2008.01.10 08:06:00 -
[15]
Originally by: La Dudette Ok, dropped this in too.. am I mistaken or do I have to check the error code against 5 different possible error conditions everytime I call the API now? :P
There is a flag called Error that you can check the bits for that is true for every error (if (error & ErrorFlags.Error) )
Originally by: La Dudette
As it stands, I still won't be able to use the starbase details API - I can't specify the starbase I want the details for. What I need to do is:
1. Get the starbase list 2. Go through the list, get the details for each tower (this will probably have to be a parameter for CorporationStarbaseDetails
Other than limitations on server side caching I don't see why this wouldn't currently work. You can set the ID with StarbaseID in the AuthenticationData (Use Advanced in the Test client)
Originally by: La Dudette
Also, you are right about the last updated.. in fact, the value that will actually be necessary is the cachedUntil that CCP supplies - because that indicates when they last updated the API results from the actual game engine. There is no way you or I can derive that, it has to be passed on.
Thx for those continuing fast responses :)
Can you explain why you believe cachedUntil will help in that situation? Afaik the current implementation is correct and will give you the correct server update time (however converted to local system time). If you work with the complex mode API there is a ClientUtcTimeOffset and Server UtcTimeOffset property to get more information. However you don't really need that because you can determine the ClientUtcTimeOffset from DateTime.
|

Amida Ta
|
Posted - 2008.01.14 21:59:00 -
[16]
Another small update: This time some love goes to CharacterSheet and SkillInTraining which now contain most of the basic formulas like total skillpoints, time required to learn skills, total attributes and so on... EveAI.Live 0.9.3 Preview
|

Amida Ta
|
Posted - 2008.01.19 11:59:00 -
[17]
Well the problem is that I don't have any stations with my API-Testcharacter, so it's hard to tell which values I'll always receive. Second problem ist: The functionallity is alread implemented. However the data needed for the moon-info is huge (celestials table from the static data) so I'm not embedding it into the core dll. However there is a mechanism to use the data from an external file (I'll upload the file to eve-files):
EveAI.Live full static data
In code you need to do:
api = new EveApi (1, "", 1, 1000, false); // false is important EveAI.DataCore core = new EveAI.DataCore (); EveAI.DataReader reader = new EveAI.DataReader (core, Environment.CurrentDirectory); // Set directory for EveAI.Data.zip reader.Read (EveAI.DataTypes.BasicMapData | EveAI.DataTypes.Products); api.EveApiCore = core;
The reader.Read specifies which data to read. If you call it without parameters it will read all data (however this will take some time). You need
- DataTypes.BasicMapData, DataTypes.Products basically for everything
- DataTypes.Celestials for Moon data
- DataTypes.Production for Assembly Line data
- DataTypes.Names for names (most names can be determined without this)
New Version: EveAI.Live 0.9.4 Preview
P.S. You could delete some data from the static data if you don't need it (especially dbo_mapCelestialStatistics.csv which saves over 18MB alone)
|

Amida Ta
|
Posted - 2008.01.24 16:59:00 -
[18]
Originally by: Iown Ewe No source code?
No, currently not. But feel free to look at the code using Reflector or a similar application.
|

Amida Ta
|
Posted - 2008.01.28 17:55:00 -
[19]
Originally by: La Dudette Hi Amida.. any chance of adding that cachedUntil property?
Thx
cachedUntil will not help you. It has nothing to do with the time the data was updated on the server. It contains the time at which the client is allowed to make the next request. You can use LastUpdateTime to get the most accurate available info.
|

Amida Ta
|
Posted - 2008.01.28 18:01:00 -
[20]
Edited by: Amida Ta on 28/01/2008 18:05:41
Originally by: La Dudette Edited by: La Dudette on 27/01/2008 17:13:16 I've got a further problem now, actually.
Calling the API a few times today, files are not being retrieved. To be precise: accountdataapi, alliancedataapi, conquerablestations and corporationsheetapi work. All others are still dated 19/01/2007 in the cache folder after calling the API. Any idea what might be happening?
Edit: I found out what happened. I used my limited API key this time. However, while the cache files were still there, instead of giving me an error saying authentication level not high enough, it just returned the cached data. When I deleted the files I got the error as intended.
This is the default setting for the Api. It will try the cache first, if that fails it will try to load from the web and if that fails it will fallback to the cache as last resort.
You may want to use the "advanced mode" api and just call it directly instead of through the static EveApi class. Example:
AuthenticationData auth = new AuthenticationData (); auth.UserID = 4683469;
StarbaseListApi starbaseApi = new StarbaseListApi (); starbaseApi.AuthenticationData = auth;
EveApiBase.UpdateResult result = starbaseApi.UpdateData (EveApiBase.UpdateCharaceristics.OnlineCached);
Using UpdateCharaceristics.OnlineCached will prevent the last line fallback and just return an error if the cache is invalid/expired and new data cannot be retrieved from the web. You also get a lot more information from the individual Apis.
|

Amida Ta
|
Posted - 2008.01.29 10:13:00 -
[21]
EveAI.Live 0.9.5 Preview
0.9.5 is live. It adds some convenience functions to the Starbase details api like required fuel and time the starbase can stay online/reinforced with its current contents.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.02.05 07:51:00 -
[22]
New version is out: EveAI.Live 0.9.6 Preview
With this version the libraries are digitally signed and thus strong-named which makes it basically impossible to modify the assemblies without knowing about the modification. This will enhance the security of applications using EveAI.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.02.29 07:53:00 -
[23]
Originally by: Xaroth Brook Any chance you can check if it compiles to Mono 1.2.5+ ? that way I can start making some more advanced cronjobs for my own char stuffs
It works well with Mono 1.2.6 (including the demo app). The library will probably work with any mono version that is more than a few years old.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.02.29 08:00:00 -
[24]
Originally by: Bleu Meurtre Edited by: Bleu Meurtre on 28/02/2008 23:13:00 I have begun work on an app using the EveAI Live api set. however, I am getting errors on connection (ClientMissingCacheFile) and need to know if you have error documentation and what it means, or perhaps documentation on the api itself.
I have been running your test app and it seems to work fine so far as an example, and I have looked inside it via reflector, but I dont really see anything that tells me what the errors refer to.
Thanks!
Yes, the documentation is a "little" bit short ;) To check for errors you should use LastUpdateResult property of the EveAPI class (if you are using the EveAPI class). It will tell you if (and how) the update succeded. The LastErrors property that you have been looking at reveals what happened internally (e.g. in your case that there was no (valid) cachefile available). You usually do not need to use that property.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.03.03 23:18:00 -
[25]
Originally by: Bleu Meurtre
Originally by: Amida Ta
Originally by: Bleu Meurtre Edited by: Bleu Meurtre on 28/02/2008 23:13:00 I have begun work on an app using the EveAI Live api set. however, I am getting errors on connection (ClientMissingCacheFile) and need to know if you have error documentation and what it means, or perhaps documentation on the api itself.
I have been running your test app and it seems to work fine so far as an example, and I have looked inside it via reflector, but I dont really see anything that tells me what the errors refer to.
Thanks!
Yes, the documentation is a "little" bit short ;) To check for errors you should use LastUpdateResult property of the EveAPI class (if you are using the EveAPI class). It will tell you if (and how) the update succeded. The LastErrors property that you have been looking at reveals what happened internally (e.g. in your case that there was no (valid) cachefile available). You usually do not need to use that property.
Thanks for the info, and I am using that prop from that class. However, it just returns a 4. When I pipe out the .Error to a string, it says not updated. How do these errors work?
Hmm, which programing language do you use? LastUpdateResult returns a UpdateResult enum value. And a value of 4 would be UpdateResult.ErrorFromOnlineAuthenticationFailed which means that some of your login data (your api key or userid is incorrect or missing)
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.03.06 09:10:00 -
[26]
Edited by: Amida Ta on 06/03/2008 09:10:50 Edited by: Amida Ta on 06/03/2008 09:10:08
Originally by: KOMMAP Hello Amida Ta, Thank you for your perfect framework. Could you please to add http proxy support (Net.WebProxy class)? It will be very helpfull for everyone who using this framework from behind the proxy.
Just uploaded EveAI.Live 0.9.7 Preview with Proxy support (Proxy property for both the EveApi Class and the "complex mode" Api Classes)
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.03.11 23:30:00 -
[27]
Originally by: telinette Hello, i m using EveAI dll to make corporation website :)
i'have done this
List<EveAI.Live.Corporation.MemberTrackingEntry> MembersList = api.GetCorporationMemberTracking(); lsMembers.DataSource = api.GetCorporationMemberTracking(); lsMembers.DataBind();
work as well i juste got a problem with accent encoding
on MemberTrackingEntry.Title i got "Magnifique D+¬esse des +«les"
I have define UTF-8 on my web config but still change nothing ( <globalization fileEncoding="UTF-8"/>)
In debug mode the "GetCorporationMemberTracking" send me wrong character, so i thing it's too late for work on it)
Any idea to fix accent ?
(using C# / VS 2008 / FrameWork 3.5 / windows XP pro)
Rgds,
Tely
Hmm - I don't have any data to test this (in my corp all people only have standard ASCII character names.
Just uploaded EveAI.Live 0.9.8 Preview that probably should fix the issue, but not tested at all, so please tell me if it works.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.03.18 13:43:00 -
[28]
Originally by: Bleu Meurtre I have been scanning through the api's as I am looking for a way to gather current pricing information on items in a characters asset list. Is there a way to gather that information? For example, I would like to, by item type, gather the average selling and buying price by Region or System.
Did I miss it or is it not there? If it is not there, is it possible to add?
It's possible to add this, however this is not part of the official APIs but supplied by third-party sites. For security considerations EveAI.Live only makes direct web-connections to CCP sites and nowhere else, so I'm not going to add that directly into the library.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.03.23 08:55:00 -
[29]
Unless somebody has some more suggestions for EveAI.Live the next version of the library will be version 1.0.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.03.30 11:18:00 -
[30]
It seems that EVE currently has severe problems serving the API data. I cannot get the skill tree AT ALL. And the reason it failed for you is because the skill level information is just missing from the current API calls.
I tried some more robust parsing. However there is nothing intelligent that you can do in this case. I could just fill up values with nulls, which will also likely break using Applications using EveAI. So lets hope the API works correctly soon...
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.04.06 17:09:00 -
[31]
Originally by: Dakmarid Darksun Previously, all the skill ids were getting automatically resolved to their names. Now this is not happening in the CharacterSheet API and SkillInTraining API. Is this due to XML changes, or was this not implemented and I was just being spoiled by pulling this through the EveAI API before?
I'm not sure if I understand your question correctly: This is a function that EveAI delivers and has been from the beginning on. CCP returns only IDs for the most part, not complete objects.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.04.08 15:29:00 -
[32]
Originally by: Dakmarid Darksun For instance I do the following: (I have removed some code for simplicity's sake)
CharacterSheetApi charAPI = new CharacterSheetApi(); CharacterSheet charUpdate = new CharacterSheet(); charAPI.UpdateData(); charUpdate = charAPI.Data; foreach (CharacterSheet.LearnedSkill skill in charUpdate.Skills) { lSkills.Add(skill.ToString()); }
Previous to the API meltdown two weeks ago, this returned the names of all the skills and their associated levels (i.e. "Drones 2").
Now this just returns the Skill Id # and the level. Looking within the CharacterSheet object, within the Skills property, each individual Skill object is null. Am I using the API properly, or is this not the appropriate way to access this information?
OK I understand your problem now ;)
EveAI has two different methods of usage: "Simple mode" and "Complex mode". In Simple mode everything is done for you.
EveApi api = new EveApi ("userID", ...) CharacterSheet charUpdate = api.GetCharacterSheet (); foreach (CharacterSheet.LearnedSkill skill in charUpdate.Skills) { lSkills.Add(skill.ToString()); }
However this means that EveAI might drag in Data from the static data files as well as make multiple calls to the CCP APIs. I would recommend that unless you need some very special features you use the simple mode.
In complex mode you have to resolve this yourself. You can use the ResolveLiveReferences method of the CharacterSheetApi to do that (you need to pass a SkillTreeApi object to that method)
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.04.12 12:20:00 -
[33]
Originally by: Dakmarid Darksun Edited by: Dakmarid Darksun on 08/04/2008 15:59:42 Ah ok. I was using the simple mode but swapped for the complex to be able to error handle a bit better.
I suppose this is why documentation is a good thing 
If I should have some spare time I will try to write some docs. Especially the "complex mode" is surely completely non-self-explanatory ;) However till I wrote the library I didn't have any time to ;)
Originally by: Dakmarid Darksun
EDIT: ResolveLiveReferences(EveApiBase[] resolveAPIs) how is this used?
You have to pass a "new EveApiBase[] {skillTree}" Array that contains a single (already updated) SkillTreeAPI object. You could also do that in your own code. Its just a few lines in that case.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.04.17 22:04:00 -
[34]
Here is an example:
CharacterSheetApi charAPI = new CharacterSheetApi(); charAPI.Configuration.BaseDirectory = "c:\someDirectory\"; charAPI.UpdateData(); CharacterSheet charUpdate = charAPI.Data;
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.05.09 11:34:00 -
[35]
Cannot really test this as my corp has no starbases :( I assume you do have sufficient rights to get the starbase details...
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.05.26 07:41:00 -
[36]
Edited by: Amida Ta on 26/05/2008 07:43:17
Originally by: Elly Gartner Browsing through the web a bit, I found the following bug that might be the cause of the bug inside the EveAI library: Corresponding libeveapi bug. Fixing this would be very much appreciated, as I'd really like to be able to use corpulent. :)
The problem in EveAI is likely the same. Just try: EveAI.Live 0.9.9 Preview Didn't test, but this may fix the problem.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.05.31 10:22:00 -
[37]
Originally by: Callis Iqnatius
Originally by: Tiberius Xavier
Originally by: Callis Iqnatius from what i can tell.... when i use the line
EveApi api = new EveApi(UserID, ApiKey, CharacterID);
it grabs the data and Caches it.
then all i need to do is call the data i want.... which thinking about it doesn't make all that much sense but there you go :P
it worked with the alliance call
List<Alliance> alliances = api.GetAllianceData(); but that was copped directly from then wiki Linkage
the error i get the the line
List<EveAI.Live.Corporation.Starbase> starbaseList = api.GetCorporationStarbaseDetail();
is
C:\Documents and Settings\creature\My Documents\Visual Studio 2005\EVE Projects\EVEPOS V2.0\EVEPOS V2.0\Form1.cs(33,66): error CS0029: Cannot implicitly convert type 'EveAI.Live.Corporation.Starbase' to 'System.Collections.Generic.List<EveAI.Live.Corporation.Starbase>'
dose that make any sense?
Check what the return type from api.GetCorporationStarbaseDetail() because the error suggests that it does not return a List of Starbase.
would love to as sooon as i work out how.....
What tool/application do you use for development? Usually your tool should tell you what the return type of a method call is. In the case of GetCorporationStarbaseDetail() it will return a Starbase object (No list of Starbase Objects, just one single object). Just saw you seem to be using VS 2005? Then just hover with the mouse over the method name and it will tell you the return type. As an alternative you can use the class browser.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.05.31 10:29:00 -
[38]
Originally by: Tiberius Xavier
Originally by: Callis Iqnatius
and as far as what i am writing is concerned yer i will be shearing my project and code (not that it will be any gd) not shore about the API tho :P
LOL. Let me rephrase my question. I'm not familiar with this API. I use libeveapi which I had to manually patch to work for my apps, and I was wondering if this particular API is open source. If it is open source, I may consider porting a current app over.
No, it is not open source. However feel free to look at the source using reflector or a similar tool.
Originally by: Tiberius Xavier
Originally by: Callis Iqnatius ok think im getting there....
List<EveAI.Live.Corporation.Starbase> starbaseList = api.GetCorporationStarbaseList();
works up till the 'api.GetCorporationStarbaseList()' this was copied from the wiki so i know its correct.... any one know what i have done wrong??
Again, I am not familiar with this API. Moreover, you are not being very descriptive the issue. How does it not work?
One possiblity is how did you construct the api object? It seems this library wants the userId, ApiKey and characterId up front in the constructor (which is deficient for what I need) The particular call you are making requires a full director key to acquire any data (for security reasons obviously).
There are two modes in EveAI. Simple and complex mode. Complex is harder to understand (as I didn't have time to write any doc yet). Simple is geared towards making multiple calls with same credentials. However you can change the credentials at runtime and you could also simply construct multiple api objects.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.06.03 06:34:00 -
[39]
Originally by: Lovarthis
Originally by: Amida Ta No, it is not open source. However feel free to look at the source using reflector or a similar tool.
I don't understand the licensing of the libraries. Courtesy of Reflector, I have a private copy of the library sources and I've made additions and modifications that I need for my application (as I requested earlier in this thread). I'd like to share my application with others, but don't want to violate your rights as original author.
Are you permitting such modifications under any circumstances? Do you ever plan to go open source? Do you ever plan to simply release the rights to the sources so others can run with this?
I'm not happy with adding Id's to the objects directly. The idea behind the core is to get a real Object-oriented system and not just an object-encapsulated datatable/database. On the other hand I can understand your requirement. I hacked something up that you may try: EveAI.Live 0.9.10 Preview In that version DataCore has a method public int GetIdForObject (object eveAiObject) that will return the id-value for (nearly) any object that is part of DataCore. It's likely not really performant. But I assume you don't need that to do a few lookups on the web.
And I might Open Source it at some point in time. But it is not currently planned (will do it in case I should abandon the project).
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.06.03 17:39:00 -
[40]
Originally by: Lovarthis I appreciate the quick reply and the temporarily hacked (?) library, but "strange women lying in ponds distributing swords is no basis for a system of government". It looks like I get to reinvent this particular wheel. Which is a terrible shame. The libraries are a fine bit of work, but don't make the mistake that I did years ago of holding your creation so close to the vest that you smother its usefulness. Get it out there. Let others add to its usefulness. Let it become a community resource.
I'm fine with adding the functionallity as it is now. If it is useful this is by no means "temporary". (Hack is a term commonly used amongst programmers for a quickly coded solution).
Originally by: Lovarthis
The value of having IDs in the data is that the IDs are a fundamental notion in the EVE data. Integration with any other EVE data source must be through either their static IDs or through some other invented identifier notion. If I were only using the data that you are making available, I'd be golden. However, I'm integrating with eve-central.com, which requires IDs. Any other source that I integrate with (e.g. CCP's data service directly when they add functions that you do not support) would produce the same requirement.
As I said I can understand your requirement. However in the library the ID is not stored within the objects for good reasons (you can completely freely change the data using normal object-oriented methods). Imho the current solution to call a method to return the ID in case you really need it seems totally acceptable. And as long as you don't plan to use that method several thousand times per second you shouldn't get a problem with speed either. (The library is generally tuned towards perf, but this one will not be)
Originally by: Lovarthis
One means of including the IDs would be to override GetHashCode on all classes that have identifiers. I believe that's a valid use of that standard function. (FYI, I'll be away from the web for the next two days)
That may be possible, however I don't really like it. The problem is that you would have to assign dummy IDs for user/application-created objects. Right now the method I wrote will return -1 if you call it for an object that is not part of EVEs static data pool. However for GetHashCode you obviously shouldn't return -1 for different objects.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.06.09 21:14:00 -
[41]
Originally by: Baline Aegis http://wiki.eve-id.net/EveAI What is "common use" license, please ?
Feel free to use it for your project, but currently the source is not available.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.06.09 21:18:00 -
[42]
By the way. Two "simple" diagrams for EveAI Live (EveAI Core is missing, because then the diagrams would be REALLY large ;)
Simple mode:
Full mode:
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.06.27 07:42:00 -
[43]
Version 0.9.11 has been released. It adds support for retrieving Market data from Eve Central. http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_0.9.11.zip
Usage is very simple. E.g.:
using EveAI.Live.Market MarketApi marketApi = new EveCentralMarketApi (); ProductStatistics p = marketApi.GetProductStatistics (product); Console.WriteLine (p.Product " + ": " + p.BuyOrders.Median);
The sample application als has a tab added that demonstrates this. There is also an GetProductStatistics overload that takes more parameters (region, multiple products, multiple regions, minimum Quantity)
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.06.27 13:34:00 -
[44]
Originally by: Nerith Gorn Edited by: Nerith Gorn on 27/06/2008 13:20:21
var sheets = new List<CharacterSheet>();
var api = new EveApi(characters.UserID, characters.ApiKey, characters.CharID);
sheets.Add(api.GetCharacterSheet());
Above snippet results in an exception
System.NullReferenceException was unhandled by user code Message="Object reference not set to an instance of an object." Source="EveAI.Live" StackTrace: at EveAI.Live.Character.CharacterSheetApi.ResolveLiveReferences(EveApiBase[] resolveApis) at EveAI.Live.EveApi.UpdateEveApi(EveApiBase api, EveApiBase resolveApi, Boolean resolve) at EveAI.Live.EveApi.UpdateEveApi(EveApiBase api, EveApiBase resolveApi) at EveAI.Live.EveApi.GetCharacterSheet() at Dashboard.Data.EveAPI.EveInfo.GetCharacterSheets() in <long path>\EveInfo.cs:line 20 at Dashboard.UI.Preferences.ListView_Initialized(Object sender, EventArgs e) in <long path>\Preferences.xaml.cs:line 36 at System.Windows.FrameworkElement.RaiseInitialized(EventPrivateKey key, EventArgs e) at System.Windows.FrameworkElement.OnInitialized(EventArgs e) at System.Windows.FrameworkElement.TryFireInitialized() at System.Windows.FrameworkElement.EndInit() at System.Windows.Controls.ItemsControl.EndInit() at System.Windows.Markup.BamlRecordReader.ElementEndInit(Object& element) InnerException:
Question: Is there a way of setting the base url to point to another webservice rather than the CCP server for testing purposes?
My assumption is that you pass null for characters.ApiKey instead of the ApiKey.
You can set the url with the static: EveApiBase.Configuration.BaseAddress however this is not recommended ;)
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.06.30 20:48:00 -
[45]
Version 0.9.12 has been released. It adds support for most of the factional warfare APIs.
http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_0.9.12.zip
Unfortunatelly as I do not take part in factional warfare I cannot get the data for the char based char/FacWarStats.xml.aspx and corp based corp/FacWarStats.xml.aspx. Would be nice if somebody could supply a sample.
The demo application has been updated, too.
Please note: The occupacy map currently fails with an exception because there is a stupidity in the API that will hopefully get fixed (on the servers) very soon. If not I will add a workaround for it...
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.07.02 16:23:00 -
[46]
Originally by: Nerith Gorn Edited by: Nerith Gorn on 02/07/2008 13:06:20 Edited by: Nerith Gorn on 02/07/2008 12:02:51 You may want to do a rebuild of EveAI.Core.dll
The Eve.Data.Core.zip file in your project is missing the following files dbo_eveGraphics.csv dbo_eveNames.csv dbo_agtAgents.csv dbo_mapDenormalize.csv
The file dbo_invTypes.csv uses "#TRUE#" and "#FALSE#" for the published column but your method ReadBool uses a case sensitive comparison to "true" to set the Published property.
There is a logic error in your DataReader.Read() method, this.ReadNpcCorporations(); is reliant on this.ReadNames() being called first but the the only call to this.ReadNames() is optional.
I'd also like to add my voice to please open source this and give it a proper licence.
1) It is by design that Eve.Data.Core.zip is missing some tables. This is to reduce the size of the assemblies. The data mentioned is not needed for most cases. In case you need it you can get the data from http://wiki.eve-id.net/EveAI (or see the first post in this thread). It is sufficient to copy the EveAI.Data.zip into the Application Directory. Then the data will be automatically used.
2) dbo_invTypes.csv uses "#TRUE#". Thanks for spotting this error. Seems to have happened with the last data update. I'll correct this for the next version.
3) There is a logic error in your DataReader.Read() method. This is by design, too. You can opt to not load the string table (if you want to save memory and don't need it). By default the names will be read if available.
4) Have been thinking about open sourcing it, we'll see.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.07.02 16:38:00 -
[47]
First one is a bug that I introduced with last version :( Added some parameter checks, but seems to be one too much ;)
For reading your balance you need your characterID. You can get your characterID e.g. from the AccountEntries API. For using this you can just pass 0 for your characterID (maybe I should add another overload without characterID ;)
Originally by: blubber dubba hi,
great API, but I'm to stupid to use it?
EveApi api = new EveApi();
returns in: "{"Specified argument was out of the range of valid values.\r\nParameter name: apiKey"}"
EveApi api = new EveApi (UserID, ApiKey, CharacterID); Maybe work.. but I don't have the Character Id.. how do i get it work? I would like read out my balance from Character X.
Thanks a lot for help
about licensing:  http://www.gskinner.com/blog/archives/2008/07/source_code_lic_1.html
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.07.04 08:50:00 -
[48]
Originally by: Nerith Gorn
Originally by: Amida Ta
1) It is by design that Eve.Data.Core.zip is missing some tables. This is to reduce the size of the assemblies. The data mentioned is not needed for most cases. In case you need it you can get the data from http://wiki.eve-id.net/EveAI (or see the first post in this thread). It is sufficient to copy the EveAI.Data.zip into the Application Directory. Then the data will be automatically used.
Then can you add in a custom exception because getting a NullObjectException when you do new DataCore(); required me to disassemble the code to find out what was wrong.
Getting an internal exception is not "as designed". Could you tell me what you did to get it (or give me a stacktrace)? It just shouldn't fill fields where data isn't available (set to null) but shouldn't raise any exception.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.07.06 11:36:00 -
[49]
Originally by: Arous Drephius Edited by: Arous Drephius on 06/07/2008 10:21:36 Is it just me being stupid, but I can't seem to get the test application to run. On Vista I get the standard (and completely useless) "Program stopped working" dialog, and on XP I get the "Program encountered a problem and needs to close...Send/Don't send" dialog. This happens as soon as I launch the app.
Edit: Yes, I have the .NET framework installed. Other .NET apps run fine.
UUps my mistake
Version 0.9.13 fixes the problem.
http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_0.9.13.zip
I'm still looking for samlples for personal and corp warfare stats: Unfortunatelly as I do not take part in factional warfare I cannot get the data for the char based char/FacWarStats.xml.aspx and corp based corp/FacWarStats.xml.aspx. Would be nice if somebody could supply a sample.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.07.06 21:04:00 -
[50]
Version 0.9.14 adds experimental support for the character and corporation faction statistics. You/your corp needs to be enlisted for factions wars to get any data. As I'm not I could not do any tests. So just hoping this works ;)
http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_0.9.14.zip
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.07.19 09:58:00 -
[51]
Edited by: Amida Ta on 19/07/2008 09:59:29
Originally by: JimBob666
Originally by: JimBob666 Hiya. First of all, thanx for the EveAI, im finding it very useful :)
Anyway, im trying to get the "GetCorporationStarbaseDetail()" method to work with no luck so far.
Is this part still under development, or am I just being a noob :P
If it does work, can someone please throw in some example code of how you would find out the fuel levels of a particular POS.
Thanx in advance. JIM
BUMP! Still looking to find out if getting information on a particular starbase works or is under construction!!!
JIM
Could you tell me where your problem is? I don't use the API myself, but I know that others do, so it should work. You just need to set the StarbaseID of the Authentication property of the EveAi object to the requested starbase and then call the API.
Edit: Does it work in the sample Application for your? There you set the StarbaseID in the Advanced dialog...
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.09.29 21:32:00 -
[52]
Edited by: Amida Ta on 29/09/2008 21:32:51
Originally by: Anne Sapyx
How can I use the EveAI.Live.Generic.CharacterNameLookupApi? and EveAI.Live.Generic.CharacterIDLookupApi?
Ty.
Haven't tested this, but it should work:
CharacterNameLookupApi namelookup = new CharacterNameLookupApi (); namelookup.CharacterIDsToLookup.Add (1234567); namelookup.CharacterIDsToLookup.Add (2345678); namelookup.UpdateData (); String charName1 = namelookup.FindEntry (1234567); String charName2 = namelookup.FindEntry (2345678);
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.09.30 16:22:00 -
[53]
Edited by: Amida Ta on 30/09/2008 16:21:52 This is a problem with EveAI. Will fix it for the next version.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.10.21 12:13:00 -
[54]
Originally by: Malrock Hello.
There is a bug in .GetCharacterAccountBalance(0).Balance, it returns 4 292 529.2969 while the amount is much more higher, the xml from api is;
<?xml version="1.0" encoding="UTF-8"?><eveapi version="2"><currentTime>10/11/2008 10:05:15 PM</currentTime><result><rowset name="accounts" key="accountID" columns="accountID,accountKey,balance"><row accountID="xxx" accountKey="1000" balance="429252929.69" /></rowset></result><cachedUntil>10/11/2008 10:20:15 PM</cachedUntil><utcTimeDifference>00:00:00</utcTimeDifference><cacheVersion>0.9.10.0</cacheVersion></eveapi>
Seems like CCP changed this. I will update the API accordingly. Already fixed an will be included in the next version.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.10.21 12:21:00 -
[55]
Originally by: Alfred Spangler Hi Amida Ta! I finally got time to play with your great API lib again 
To the point: On rare occasions I get a null reference on the Type from the GetCharacterAssets(), I havent nailed it down to a specific asset yet. [Fake Edit:] I have nailed it down now: It's a freakin' Apotheosis, TypeID 29266. I guess its time we get a new data dump . I don't know if you can work around that. 
The problem currently is that the static data in EveAI is very old (Pre-Empyrean Age). And I don't have the time currently to convert the new format into something that I can easily use for EveAI. In fact I have been working on a scheme to read the static data directly from the game which means always up-to-date data. However it's not finished yet. If anybody wants to help I would need the static data dump converted to the sql create format it had before. There it is important that the format has ONE create table and then n inserts, otherwise my import app will not read it correctly.
As an alternative I could also use the old CSV format.
So if anybody wants to help I would be very happy ;)
Originally by: Alfred Spangler
And just to be sure: Do you cache queries to Eve Central via the EveCentralMarketApi? Or am I hammering them to death right now?
Regards, A.S.
As soon as you call GetProductStatistics no more caching occurs. Whenever you call that function a query is made on Eve Central. You can read the result as often as you like, but on the next call of GetProductStatistics a new Call to Eve Central will be made.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.10.21 12:27:00 -
[56]
Originally by: Dangrou Hi
first off thanks for this - its fantastic (even if i am struggling)
second i have some VERY basic .net skills so i dont know if my lack of knowledfe of .net or EveAI is the problem here
I CAN do this: Dim api3 As New EveApi Dim myskilllist As New List(Of Skill)
myskilllist = api3.GetSkillTree Me.GridView1.DataSource = myskilllist Me.GridView1.DataBind()
This returns a full list of all skills BUT please can somebody explain how i get back a list of a characters learned skills
Thanks
The SkillTree is the Entire Skilltree in Eve and has nothing to do with your character.
To get the skills of your character you have to use (have not used VB in some time ;)
Dim api3 As New EveApi(_userid_, _apiKey_, _characterID_) Dim character As CharacterSheet
character = api3.GetCharacterSheet Me.GridView1.DataSource = character.Skills Me.GridView1.DataBind() |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.11.03 23:07:00 -
[57]
Originally by: Alfred Spangler Edited by: Alfred Spangler on 02/11/2008 11:28:30 I get some strange behaviour with the EveCentralMarketApi. When I do something like this
EveCentralMarketApi mApi = new EveCentralMarketApi(); mApi.EveApiCore = new EveAI.DataCore(); ProductStatistics productStatistics = mApi.GetProductStatistics(someProductType);
I get a null reference on productStatistics.Product and 0.0 values for all the TradeQuotes. Its the same if I use the DataCore from a new EveApi(), but not when I use the DataCore of a new EveApi(*Api Credentials here*).
Can you enlighten me on that? I need to use the EveCentralMarketApi without an "initialized" EveApi.
[Edit] The problem seems to be related to the EveApiCore.GetIdForObject() function... its doesnt return proper values on a new EveAI.DataCore(), plus it doesnt return proper values when I do something like
ProductType type = someAssetOrOrderFromTheApi.Type; dataCore.GetIdForObject(type);
but it returns proper values if I use someAssetOrOrderFromTheApi.Type as a parameter, which is, as you might have guessed, some asset or market order retrieved by a GetCharacterAssets() or GetCharacterMarketOrders() call.
By default it creates an empty core dataset which is why you get null-ref exceptions. If you like you can initialize it manually from the data that is embedded in the core by calling something like: DataCore core = new DataCore (); DataReader reader = new DataReader (core); reader.Read (DataTypes.BasicMapData | DataTypes.Products);
reader.Read will read the static data from internal datafiles. In that case it will read everything relating to Map and Products.
Originally by: Alfred Spangler
And on a laste note: What exactly do you need from the new data dumps for your import functions? One create table plus inserts per file, one file per table?
Regards, A.S.
I would need exactly that: One file per table containing one create table followed by one insert per data item.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.11.06 22:32:00 -
[58]
Originally by: Xaroth Brook
Originally by: Amida Ta
The problem currently is that the static data in EveAI is very old (Pre-Empyrean Age). And I don't have the time currently to convert the new format into something that I can easily use for EveAI. In fact I have been working on a scheme to read the static data directly from the game which means always up-to-date data. However it's not finished yet.
why not use db4o for storing your data, it might not be a 100% performance thing but it has some really nice features (like client/server built in, for auto-update support), plus you don't have to do any mapping between database/objects since db4o does this all for you.
I already thought about that. But plain db4o itself is already as big as the entire EveAI.Live CONTAINING most of the Eve static data. If you then add the database for db4o it becomes bigger than anybody would like a library or even an entire application to be.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.11.07 09:58:00 -
[59]
Originally by: Evelyne Drumm Edited by: Evelyne Drumm on 07/11/2008 00:18:51
Quote: using EveAi.Live using EveAI.Live.Character Dim eveApi As EveApi = New EveApi(userID, apiKey, characterID) Dim characterSheet = eveApi.GetCharacterSheet() text1.Text = characterSheet.CorporationName
Voilß, your corpname in your textbox. Magic! 
Regards, A.S.
I am now getting an error: Nullrefrenceexception was unhandled, Object reference not set to an instance of an object.
Error occuring on line 4 "dim char......"
Imports EveAI.Live Imports EveAI.Live.Character Dim eveApi As EveApi = New EveApi("myuserid", "myapikey") Dim characterSheet = eveApi.GetCharacterSheet() TextBox1.Text = characterSheet.Name
Any ideas? Sorry to be a pain. Tia
Afaik it should be Dim characterSheet as CharacterSheet = eveApi.GetCharacterSheet() Also you forgot your characterID in the line above. And I hope you replaced those "myapikey" with your real key ;)
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.11.20 00:40:00 -
[60]
Version 0.9.16 has been released. It adds support for most of the new APIs (basically everything except the medals stuff). It should also fix all errors that appeared because CCP "fixed" their previous errors in the APIs like multiplying stuff and things like that. Unfortunatelly the static data is still very ancient and I haven't got any new data. I'm mostly able to read cachefiles, but a) they do not contain all the data that is part of the static data dumps and b) I still haven't got any clear answer from CCP if it would be ok to use/embed them in the API library.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_0.9.16.zip
As always it comes with the testapp to see the new APIs in action.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.11.21 09:24:00 -
[61]
Originally by: Alfred Spangler After reading the patchnote, I gather there will be new data dumps with the QR expansion. So I'll wait until these are released, before converting them to the format Amida Ta needs.
The format that I use is CSV. One file per table. First line is omitted (ideally a description) Then one line per dataset. (Separated by $ and Strings surrounded with "", but I could change this easily)
I have a converter from the old SQL-format into the CSV, so I could also use that. |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.11.22 01:14:00 -
[62]
Originally by: Evelyne Drumm Is it possible to change the amount of transactions eveApi.GetCharacterWalletTransactions retreives? Its only going back 1 month.
Tia
That is likely restricted by the CCPs API. |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.11.22 01:18:00 -
[63]
Version 0.9.17 has been released. It adds everything that has been missing from the previous version. Now all API calls are supported again (added the three Medal-based ones) Also TADAAA: ALL static data has been updated and is now on line with the current Eve static data export.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_0.9.17.zip
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.11.25 00:21:00 -
[64]
EveAI Live Version 1.0.0 has been released!
Changes since last version:
- Support for the brand-new ServerStatus API
- Includes static object names by default
- More robust internals
- Cachefiles will be kept valid between EveAI Versions unless it is neccessary to replace them
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.0.0.zip
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.11.25 11:58:00 -
[65]
EveAI Live Version 1.0.1 has been released!
Changes since last version:
- Hotfix last second introduced bug :(
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.0.1.zip
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.11.27 00:27:00 -
[66]
Originally by: Dantes Revenge Edited by: Dantes Revenge on 25/11/2008 18:24:43
Excellent but one minor thing 
Is it possible to have some documentation zipped with it so we know what calls we can make. It's great having the Wiki page but a .txt file list (format below) is all that's really required rather than go searching a web page for them all.
{dll to use} Name.of.call(parameters, needed) :brief description.
You have to make it a bit easier for us dumb programmers 
Thanks for the great work.
Well... Documentation... Sure... (Hides and vanished) No really: I know in this area EveAI Live is severely lacking. Am happy to take any user-contributions. I hope I find the time to at least explain the basics...
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.12.02 09:08:00 -
[67]
Originally by: Etil DeLaFuente Any chance to get it open source ? (not like i can't use reflector anyway ;) )
I currently see not much sense in open sourcing it . I will do so if I ever loose interest in developing it further. Till then feel free to use reflector to look at the internals. 
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2008.12.02 17:33:00 -
[68]
EveAI Live Version 1.0.2 has been released!
Changes since last version:
- Fix some small errors in the static data (Booleans and some Doubles were incorrectly saved)
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.0.2.zip
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.01.12 19:50:00 -
[69]
Originally by: Borun Tal Edited by: Borun Tal on 31/12/2008 18:16:59 I'm sure this has been asked and I've just missed it in this thread, but has your API been tested with the lastest .Net Compact framework? I'm thinking about building a couple helper apps for Windows Mobile 6.x...
Thanks, and thanks for creating this great API! :)
Edit: also, how current is the Core static data? I'm not familiar with how often CCP updates the core data, so I'm curious if 1.0.2 has the latest QR updates...
Haven't tested it with .Net Compact, but the APIs I use are pretty standard, so I assume it might work.
The static data is current as of the current CCP static data update.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.01.12 19:53:00 -
[70]
Originally by: John'eh Where is the source code?
All I can find are binaries, and my anti virus flags them as a danger.
Which anti virus program do you use? As I said in postings before: Feel free to look at the application using Reflector.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.01.19 22:50:00 -
[71]
Edited by: Amida Ta on 19/01/2009 22:51:20 I tried, but cannot really reproduce your problems (on the other hand my starbase lists are always empty, so not good to test). The best way of using EveAI is to create ONE EveApi Object per character (and not change the authentication details later to another character). Could you test that? If it works I'll release a new version that fixes the resource usage (now every EveApi Object recreates the static data in case you don't manually specify it).
And what did you mean by "If I run it again for JUST the character without the station, I still get the other list."? Even if restarting your application you get that effect? The cachefile should look like StarbaseListApi.12345678 where 12345678 is the characterID, so it should not mix up at the file level cache (EveAI also has two level memory caches that might be the cause)
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.01.26 00:46:00 -
[72]
Originally by: Sodrus Muir
Originally by: Anne Sapyx
but
Private Sub BtnLookUp2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLookUp2.Click If TxtCharName.TextLength <> 0 Then Dim idlookup As CharacterIDLookupApi = New CharacterIDLookupApi()
idlookup.CharacterNamesToLookup.Add(TxtCharName.Text) idlookup.UpdateData()
LabCharID.Text = idlookup.FindEntry(TxtCharName.Text) End If End Sub
for CharacterIDLookupApi , returns -1.
I'm still getting this issue. Has this been resolved?
Confirmed bug. Seems CCP changed something with this api again. Fixed for next version 1.0.3. |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.01.26 00:47:00 -
[73]
Originally by: von Susla Code:
Quote: /*i use wrong auth data here*/ EveApi api = new EveApi(1,'a',1); CorporationSheet corp = api.GetCorporationSheet();
Result: System.NullReferenceException was unhandled
Amida Ta, could you make special exception for case "wrong authentication data"?
Fixed for next version 1.0.3. The LastError should already contain AuthenticationError so you know the Authentication failed. |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.01.26 00:50:00 -
[74]
EveAI Live Version 1.0.3 has been released!
Changes since last version:
- Fix two bugs reported on the forum.
- Generic hardening of some API functions (additional parameter checks).
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.0.3.zip |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.01.26 17:20:00 -
[75]
Originally by: von Susla Edited by: von Susla on 26/01/2009 09:25:03 Edited by: von Susla on 26/01/2009 09:24:33 Code: EveApi api = new EveApi(1,1,'wrong auth data'); CorporationSheet corp = api.GetCorporationSheet(); if(api.LastErrors.Count>0){ StringBuilder resultMsg = new StringBuilder(); foreach(EveApiError error in api.LastErrors){ resultMsg.AppendLine(error.ToString()); } MessageBox.Show(resultMsg.ToString()); }
Result: "ClientMissingCacheFile AuthenticationFailure ClientMissingCacheFile"
Expected result: "AuthenticationFailure"
This is correct by design. If you are only interested in the global result use LastUpdateResult property. |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.01.26 17:26:00 -
[76]
Originally by: von Susla Prerequisites: delete cache files
Code: CorporationSheet corp = api.GetCorporationSheet();
Result: files in cache AllianceDataApi.xml CorporationSheetApi.<some numbers>.xml
Expected result: CorporationSheetApi.<some numbers>.xml
Question: For what need AllianceDataApi.xml?
The CorporationSheet contains Information about the Alliance that this corporation is in (e.g. the name of the alliance). This is not part of the EVE Online CorporationSheet.aspx. There are several Apis where EveAI.Live will have to do several queries to the Eve Server to get all relevant data. If you wish to exactly control that you have to use the "complex mode API", aka use the *Api Classes directly. The "simple mode" will always do that automatically for you. |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.02.04 08:40:00 -
[77]
Originally by: Dalmarog Edited by: Dalmarog on 31/01/2009 11:45:10 hi guys, can someone explain me how i can read out all my characters with this eve api? i dont know how to make the connection to the xml file... i want to use basic...
hope you can help me...
thx
Something like:
EveApi api = new EveApi (userid, apikey); something = api.GetAccountEntries (); |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.02.04 08:53:00 -
[78]
Originally by: GLotsapot
Confirmed that if I create a new AveAPI per character that I don't have the problem anymore. I don't like this approach personally though as it makes using the foreach method of the Lists useless to loop through.
I do not see how this will affect using foreach. Instead of using foreach for loop-change-loopagain you are using if for loop-createnew-loopagain.
Originally by: GLotsapot
1. It generates 3 LastErrors: ClientMissingCacheFile, AuthenticationCharacterMustBeDirectorOrCEO, and ClientMissingCacheFile 2. Populates oStarbaseList with the starbase list of Character1
Now I expect the 1st part to generate those errors cause the character doesn't have access to get that data, and therefore cannot get/create that data, but the oStarbaseList should *NOT* get re-populated with the other characters starbase list.
Well as already said this is by design. Although I admit that in this particular case it is likely very unintuitive. I'm thinking about changing that for a future version. The problem here is that EveAI (when and only when using the simple EveApi class) will ALWAYS try to return the "most" correct data. And in this case it cannot retrieve correct data from the server (or the diskcache) which results in it handling the old memory-cached data as the most correct one. Especially for the case with insufficient user rights this may not make much sense. |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.02.12 01:12:00 -
[79]
Originally by: Woef
But it keeps giving me NullReference Exceptions, and i can't figure out what's wrong myself. It'd be appreciated if somebody could show/explain what i'm doing wrong.
I think Eve-Central will not return anything (which results in a null-ref) for several objects for which it doesn't have any data. Best bet is to try with something that is guaranteed to be available (like Veldspar)
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.02.14 12:40:00 -
[80]
EveAI Live Version 1.0.4 has been released!
Changes since last version:
- Fixed a newly introduced bug that prevented filling of the victim in Killlogs
- First tiny bits of documentation in XMLDoc format
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.0.4.zip |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.02.14 12:40:00 -
[81]
Originally by: QWERTY Deluxe the values in KillLog.KillLogVictim are empty. whats wrong ?` is there a fix ?
Fixed with last version ;) Thanks for the report! |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.02.16 20:04:00 -
[82]
Originally by: Admiralis Deluxe i tryed to create a new instance from class EveApi. but now, i have a char, with charid > int32. can u plz male it to int 64 ? bigtx
charID already is an Int64 (and has always been or at least for a very long time). Could you post the code line that is failing?
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.02.17 12:22:00 -
[83]
Edited by: Amida Ta on 17/02/2009 12:22:59 EveAI Live Version 1.1.0 has been released!
Changes since last version:
- Changed CharacterIDs, CorporationIDs and AllianceIDs (and all IDs that reference to them) to Int64. THIS IS A POTENTIALLY BREAKING CHANGE. If you do not use the objects, but refer to these IDs you might get compile errors after upgrading. You will have to update your application to work on Int64 for these IDs as well if you are directly using IDs.
- Updated several other fields from Int32 to Int64 that might overflow in the future.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.0.zip
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.02.17 12:28:00 -
[84]
Originally by: Admiralis Deluxe Sorry, the exeption is not, by creating a new eveapi instance. it¦s by calling the corp sheet.
EveApi CharAPI = new EveApi(UID, ApiKey, characterID); CorporationSheet CorpSheet = CharAPI.GetCorporationSheet(); //error
http://s6b.directupload.net/images/090217/udzeqes3.jpg
Well it seems the problem was that your corp likely has a executor with an ID > Int32 (maybe you ;). This was causing the parsing errors. Unfortunatelly the fix was rather extensive... But it's fixed in v1.1
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.02.20 21:51:00 -
[85]
Originally by: Gally Millenia Edited by: Gally Millenia on 18/02/2009 15:11:15 Thanks Amida Ta for this awesome tool.
By any chance, would it be possible to implements overrided methods like Sort() for CharacterSheet.LearnedSkills to be able to sort a list of skills by level, by skillname, and so on ?
Sorting should be a one-liner in the code like Skills.Sort(delegate(LearnedSkill s1, LearnedSkill s2) { return s1.Level.CompareTo(s2.Level); }); And there are next to infinite possibilities, so I'm not convinced it makes sense to put that into the library...
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.02.22 10:57:00 -
[86]
Originally by: Woef
Originally by: Amida Ta Edited by: Amida Ta on 12/02/2009 01:33:55
Originally by: Woef
But it keeps giving me NullReference Exceptions, and i can't figure out what's wrong myself. It'd be appreciated if somebody could show/explain what i'm doing wrong.
This will happen if Eve-Central will not return anything (which results in a null-ref) due to internal Eve-Central errors or timeouts.
Still can't get it to work, no matter what item. It's more like the error's occuring right before grabbing the prices. It's probably some VB-newbie mistake, but i just can't find what. Anybody has some working VB-example for me?
Well on first sight I cannot see any error. But how many assets do you have? I'm pretty sure Eve-Central doesn't want or allow you to hammer their server with tons of queries (and your code might do hundereds or even thousands). To find out you should try to do a single (type) query to find out if that works. Also check the ErrorOccured property which will be true if an error has occured during the retrieval of the Result from the server.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.02.22 11:09:00 -
[87]
Originally by: Woef I'm having trouble to figure out how to get the prices from Eve-Central. I have the following code in VB.NET: Imports EveAI.Live Imports EveAI.Live.Market
Private Sub btnAssets_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAssets.Click
Dim api3 As New EveApi(userid, "apikey", charid) Dim market As New EveCentralMarketApi Dim marketitem As EveAI.Product.ProductType Dim marketp = New ProductStatistics
Dim assets = api3.GetCharacterAssets
For i = 0 To assets.Count - 1 marketitem = (assets(i).Type) marketp = market.GetProductStatistics(marketitem) <-- this gives NullReference ItemPrice = marketding.BuyOrders.Median Next i End Sub
But it keeps giving me NullReference Exceptions, and i can't figure out what's wrong myself. It'd be appreciated if somebody could show/explain what i'm doing wrong.
UUps I think i found the error. You need to set EveApiCore first. I'll add an exception in the next version if somebody forgets doing that. For you add the following line: Dim api3 As New EveApi(userid, "apikey", charid) Dim market As New EveCentralMarketApi market.EveApiCore = api3.EveApiCore
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.02.23 08:26:00 -
[88]
Originally by: John'eh Edited by: John''eh on 23/02/2009 02:27:50 I just did some debugging of the raw MSIL - reflector does not give you everything so I chose to look at the raw .net assembly - and it looks like my network traces with wireshark confirm that this library contains code that collects api keys. I could be wrong, but since its not Open Source, I cant confirm this by looking at the code and I have no other way to confirm, however if you released the code everybody could check and confirm either that I'm wrong - and if so sorry (but I really doubt I'm wrong) - or that I'm right. Either way honesty is best, and I think you should release the code.
Till then, I suggest people stop using this unless they want to release the code. I don't trust it, and I have no reason to. Nobody does. - John'eh
I HATE PEOPLE LIKE YOU. SPREADING LIES AND FUD. You know you are plainly lying and I know you are lying. You probably never even used reflector at all. Reflector does give you the exact contents of the assembly but if you like look at the IL directly, no problem. JUST tell for everybody WHERE you found ANY trace of what you are talking about (give us an offset or method name from IL, anybody could easily check that). You can't do that? WOW what wonder! If you like to you can even make a .Net application profile forbidding any connection to anything else that the CCP servers (it would result in an application crash if it then tries to connect to anything else) and the application still works because it DOES NOT MAKE any connections to any keylogging server or anything like that.
If you don't like it not being open source and don't trust me or are too lazy to look at the application using reflector then don't use the library. Simple as that. But don't spread lies.
I was actually thinking again about making it open source last week when doing the latest updates. But with your post I'm surely not going to do it now. It would drive me mad if an a*hole like you would get his hands at my library which I have developed in countless hours and could even branch it.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.02.23 17:45:00 -
[89]
Originally by: John'eh
Originally by: Amida Ta
I HATE PEOPLE LIKE YOU.
I bet you do; You just expect people to trust you instead of attempting to verify things themselves.
I have never done so and I never will. I enurage anybody to test and verify. But you obviously did neither and are just trying to badmouth something.
Originally by: John'eh
Originally by: Amida Ta
If you don't like it not being open source and don't trust me or are too lazy to look at the application using reflector then don't use the library. Simple as that. But don't spread lies.
Its not about me, and your attempts to make my claims look invalid by simply calling me lazy instead of actually denying this and defending yourself only put you in a bad light. I'm trying to help protect people from people that attempt to infect there computer or steal API keys, and I never would have looked so deep into the codes actions if my anti virus - AVAST - had not flagged it as a danger. Its not just me saying this is an issue.
It is just you. And AVAST? Just another lie from you. Anybody can easily check that out: http://www.virustotal.com/de/analisis/a1e8de1bb9e9f54a8d5d4466466de729 And what does AVAST say: NO VIRUS
Everybody can easily see you are lying. Above is the proove for the virus scanner and the proove for no problems in the IL is just as simple: As long as you don't write even the method you want to have found from looking at the IL (which would take you 2 sec to write here and everybody could verify within 30 seconds) it is clear you are lying and nothing more.
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.02.24 09:35:00 -
[90]
Edited by: Amida Ta on 24/02/2009 09:43:23
Originally by: John'eh More bull****
from an alt in a newb corp.
BTW: The downloads are hosted on Eve-Files (And even the old versions are all still there). Its not possible to change a download there after it is uploaded. Check the files, check the dates. Another of your lies proven!
But wait. Yes, probably Chribba is my alt, too!
|

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.02.25 21:17:00 -
[91]
EveAI Live Version 1.1.1 has been released!
Changes since last version:
- Hotfix for a (undocumented??) change on Eve Central that made the EveAI.Live Marketapis fail.
- Added a sanity check for using the Market APIs.
- Added more Documentation. Most of the important Classes and Methods now have XML-Doc comments.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.1.zip ____________________________________________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# a |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.03.03 08:24:00 -
[92]
Please note that CCP has currently disabled implants in the charactersheet (see this post). SkillInTrainingAPI (and every data in there) is unaffected. ____________________________________________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# a |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.03.12 16:09:00 -
[93]
EveAI Live Version 1.1.2 has been released!
Changes since last version:
- Add Character Skill Queue API
- Add Market API for Eve Metrics
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.2.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.03.16 16:54:00 -
[94]
Originally by: Salina Simmons At first, great job Amida Ta!
i have a question regarding the TransactionEntry list. How do i get the information about which wallet division or account key was used for a specific corporation transaction?
Thanks in advance.
If you are talkig about the test application it is under: Advanced Settings/Authentication/AccountKey In the Api it is eveApi.Authentication.AccountKey _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.03.16 16:59:00 -
[95]
Originally by: Ash Donai Thanks for the time you put into this Amida Ta! I clearly need some basic C# training, if anyone who's reading this could recommend a good path for a nooblet, I'd much appreciate it.
Meanwhile, I would like to extract the quantity for a specific item at a particular station and I am having some difficulty to conceptualize what needs to be done. Specifically I would like to end up with the quantity for each mineral at a particular station.
I pulled the assets via List<Asset> AshAssets = Ash.GetCharacterAssets(); and I am thinking that the next step would be to use AshAssets.FindAll to pull the data for the station I am interested in, and then proceed to extract the minerals?
Alternatively I could create a mineral object and extract the data that way somehow?
The generic lists are killing me. I'd just brute force my way by iterating through the list if(AshAssets[n].TypeID == 36) for example, but there has to be a better way to pull out the minerals. That's the type of C# stuff I need to learn, and Google provides information overload.
The if is pretty much how you would do it. If you have .Net 3+ you could also write shorter something like: IEnumerable<Asset> allTrits = AshAssets.Where(asset => asset.TypeID == 36); _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.03.18 15:32:00 -
[96]
EveAI Live Version 1.1.3 has been released!
Changes since last version:
- Updated static data to Apocrypha
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.3.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.03.22 01:36:00 -
[97]
Originally by: Feargus Nostrum Edited by: Feargus Nostrum on 22/03/2009 01:11:59 Ok, have been playing around with this (and WinForms in C#) for the last couple of days, and I've hit a snag. I was trying to grab the character sheet using v1.1.0, and this would cause my app to become non-responsive.
I've just tried again myself and it seems to work ok for me. The testapp is currently not using threading, so it is expected to "hang" while it retrieves the data from the eve server. Depending on your computer, your internet connection and the load of the eve api server this may take some time (for me this is usually unnoticable, but from time to time it seems to hang for a few seconds).
_________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.03.24 23:51:00 -
[98]
Originally by: Xaroth Brook Any chance that the way the cache works can be manipulated, like definable delegates where you can use your own caching storage (be it serializing to xml, using db4o or whatever) .. that way it might be usable for developers to replace their own implementation with EveAI without having to re-write their systems.
Sounds somewhat interesting, but I'm not really seeing the advantage. EveAI.Live currently has two caches, a memory cache and a file cache. Both can be application contolled. You can build your own caching mechanism in front of it. However then you will have a problem if multiple applications run on the machine that all use the apis because they would possibly use different caches and thus invalidating each other.
Originally by: Xaroth Brook
this may even be expanded for other sections (EveAI.Data ? )
EveAI.Data does have a mechanism to be filled from various data sources, however it's not the part of the api that I'm currently making particulary public. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.03.25 23:57:00 -
[99]
Originally by: Klazeme The market journal from the api ( /char/WalletTransactions.xml.aspx ) by default returns the most recent 1000 entries. It is however possible to ask it to earlier entries,in blocks of 1000 by calling it with the optional parameter beforeTransID
Any chance you can provide us with a way to request this data.
The complex mode API already has this ability since the very begining. However it seems that a bug stopped it from working correctly. Moreover the EveApi class had no support for it at all. I fixed the bug and made a change to EveApi: EveApi will now by default retrieve all available data. It also has a new property IgnoreMultiPartRequests which will disable this behaviour. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.03.26 00:07:00 -
[100]
EveAI Live Version 1.1.4 has been released!
Changes since last version:
- Fixed a bug that prevented multi-part requests to work (for Journal and Transactions).
- Changed EveApi to retrieve all data from multi-part requests by default.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.4.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.03.26 09:36:00 -
[101]
Originally by: Klazeme
There may still be a slight bug as I noticed I always get an exact multiple of 1000 entries. Possibly the last request that should normally have less than 1000 is not being returned?
No, thats correct. It seems if you are limited by the week the last dataset will always be a complete dataset (1000 entries) even if you get more than a week through that.
Originally by: Klazeme
PS: a small isk donation will be on its way to you soon (as soon as I have some funds not invested in orders) as a thank you. 
Looking forward to that. I think it would be the first donation ever that I get for EveAI.Live. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.03.30 08:11:00 -
[102]
Originally by: Aelena Thraant I think there is a problem with the GetCharacterSkillQueue in 1.14
Seems as if CCP did change the API without notice again. Will fix that asap. Thanks for the info... _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.03.30 08:12:00 -
[103]
EveAI Live Version 1.1.5 has been released!
Changes since last version:
- Hotfix for a (undocumented?) change on the Skill Queue API.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.5.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.03.31 22:09:00 -
[104]
Originally by: Talenram
DataCore core = new DataCore (); DataReader reader = new DataReader (core); reader.Read (DataTypes.BasicMapData | DataTypes.Products);
Because of some changes you have to use: DataReader reader = new StaticDataDataReader (core);
Please note that you usually shouldn't need to initialize that by yourself. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.04.02 23:51:00 -
[105]
Originally by: Talenram
Or I need to figure out how to get the code to become aware of the additional (although outdated) EveAI.Data.zip file.
Any help would be appreciated.
I just updated the EveAI.Data.zip file, so it should now contain the most current data from Apocrypha. Second you just specify the data file in the constructor: x = new StaticDataDataReader (dataCore, dataDirectory) The dataDirectory should be the directory where you put the EveAI.Data.zip file. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.04.03 09:17:00 -
[106]
I believe this problem was already fixed in an internal version some time ago that has not be released yet. Problem was that the official static data contains some inconsistencies in it's latest drop (*sigh*). _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.04.03 09:30:00 -
[107]
I put a version that has a workaround for the data inconsistency up to: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.5b.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.04.07 21:56:00 -
[108]
Originally by: Arous Drephius I'm having a problem getting the CharacterNameLookupApi class to work properly. Here's my code: I get an ArgumentOutOfRangeException with the last line. What am I doing wrong?
This seems to be another undocumented API change. Will be fixed for the next version. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.04.16 18:45:00 -
[109]
Originally by: Wodeki I am writing an app in C# and I was hoping to cache the market data obtained using the EveAI library in a CSV format, however I am having trouble reconstructing some of the objects back from strings because some of their data members are read only. For instance, a MarketOrder's Expires, ExpiresLocalTime and VolumeSold are read only.
Additonally, a MarketOrder owns a Station and and Type which are more complex classes which can not easily be reconstructed from strings. Is there any way for me to serialize and parse the data obtained from the EveAPI library? Your library is outstanding and I am really looking forward to using it more fully.
1) You don't need to reconstruct the readonly properties. They are just for convenience and calculated from the other properties.
2) You can fill those objects from their IDs with something like: api.EveApiCore.FindProductType (someTypeID) or api.EveApiCore.FindStation (someTypeID) _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.04.16 18:50:00 -
[110]
Originally by: Arous Drephius Any ETA on a fix for the API changes? I really need to get my app working.
Sorry for the delay. I am somewhat unhappy with the User/ID query as a whole because it currently (possibly) creates too much cache files. However I haven't got enough time to fix this now (will be a somewhat larger change).
So meanwhile here is a version that fixes your problem: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.5c.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.04.18 17:21:00 -
[111]
Edited by: Amida Ta on 18/04/2009 17:26:28 EveAI Live Version 1.1.6 has been released!
Changes since last version:
- Static data updated to Apocrypha 1.1.
- Contains Hotfixes for reported issues that have been previously released.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.6.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.04.18 20:05:00 -
[112]
Hopefully fixed _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.04.21 07:28:00 -
[113]
Edited by: Amida Ta on 21/04/2009 07:29:21 BTW: Forgot one important point for the last release: There has been some work to run EveAI.Live in Partial-Trusted-Environments. EveAI.Live now successfully runs as part of Cloud Applications e.g. on Windows Azure.
P.S. For this scenario only the memory cache is currently possible. So you have to deactivate file-caches. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.04.22 22:23:00 -
[114]
Have a look at this description: http://wiki.eve-id.net/APIv2_Corp_AssetList_XML I might add that as auto-resolution mechanism in EveAI, too. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.04.29 15:55:00 -
[115]
Edited by: Amida Ta on 29/04/2009 15:57:19 You either have to do it "by hand" or you can use the methods ResolveCoreReferences and ResolveLiveReferences to get the Object-Forms
CharacterMarketOrderApi.UpdateData(); CharacterMarketOrderApi.Data; <- returns MarketOrder with Type and Station set to null CharacterMarketOrderApi.ResolveCoreReferences (dataCore); _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.05.13 07:22:00 -
[116]
You get all jobs from that api (production, research...) _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.05.20 17:38:00 -
[117]
Originally by: Andrey Skorpion Edited by: Andrey Skorpion on 20/05/2009 17:19:41 Hello guys!
I wonder how can i have a Characters list only having userID and APIkey.
EveApi api = new EveApi ( 9999, "asdaofvho1234789vsdf");
from here how can i retrieve the list of the character in that account? and how can i handle them?
Something like: var accounts = api.GetAccountEntries ();
There is some info on the first topic of the thread (on eve-dev) _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.05.21 23:31:00 -
[118]
Originally by: Kathryna Gorevic
-> After i open the API, with userID, apikey, and characterID, he cache somehow all data that i get from any GetXXX function, and when i run the same program he always give me back the same information. How can i update those information from the Eve Web Server?
I want to find a way to bypass the time that i have to wait before they refresh automatically the current information on cache.
The caching period is forced by the eve servers. You could deactivate the automatic caching in EveAI.Live but you sill wouldn't get new information any earlier. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.05.21 23:36:00 -
[119]
Originally by: Yaghi Hi, is there anyway to convert a string e.g. "Depleted Uranium L" to it's ID? I found this: Public Function GetIdForObject(ByVal eveAiObject As Object) As Integer but i don't know how to create the eveAiObject in VB. Can u give me some help, or is there a better way to do it?
You cannot create that object yourself. You will have to use an existing one. ProductType type = api.EveApiCore.ProductTypes.Find (...); // Check for name equality here _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.05.26 06:50:00 -
[120]
Originally by: Andrey Skorpion How can i check if the api gived to me by the user (using textboxes) are correct or not?
i mean if someone give me:
UserID: 1 ApiKey: 1
how can i verify if the EveServer accept the connection with those parameters?
Just make an API call with them and observe the error return values. |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.06.04 06:53:00 -
[121]
Edited by: Amida Ta on 04/06/2009 06:53:26 EveAI Live Version 1.1.6b has been released!
Changes since last version:
- Full data added for Celestial statistics in the DataCore (check if the type is a NaturalObjectCelestial which has statistics). Discussed and requested in another thread.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.6b.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.06.18 22:41:00 -
[122]
Originally by: Professor McCopy Thanks for the great lib Amida. I have been using EveAI for a little while and have been trying to familiarize myself with it. I have one question though. When using complex mode, a skill api call will return with Skill set to null. This is not a problem with simple mode. "How do you get that specific data while using complex mode?
Dim SkillQueue As New EveAI.Live.Character.CharacterSkillQueueApi SkillQueue.AuthenticationData = API.Authentication SkillQueue.UpdateData()
Just wondering since I am kinda stuck on this. Everything else seems to be fine.
In complex mode this won't happen automatically. Look at this post to find your how you can use EveAI without doing it yourself: http://www.eveonline.com/ingameboard.asp?a=topic&threadID=654430&page=9#267 |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.06.19 10:13:00 -
[123]
Originally by: EOH Tomw
Moon name is currently Blank. I have downloaded the EveAI.Data.zip and tried reading it in but i get a file not found error while trying that.
You have to specify the directory only for the StaticDataDataReader. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.06.19 14:25:00 -
[124]
Originally by: EOH Tomw
Dim core As New EveAI.DataCore() Dim reader As New EveAI.DataDecoder.DataDecoderDataReader(core, "C:\temp\") reader.Read(EveAI.DataTypes.Celestials)
You need to use the StaticDataDataReader, not a DataDecoderDataReader. Other than that you also might need to pass more types to the reader.Read (to try don't specify any which will load everything) _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.06.19 14:36:00 -
[125]
EveAI Live Version 1.1.6c has been released!
Changes since last version:
- Custom request for an addition. Thanks for the ISK!
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.6c.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.06.22 16:42:00 -
[126]
Originally by: JuicyCakes Quick question about caching. Lets say my app uses the EveAI to pull Jump data (cache interval is 1 hour) at 21:00:00. Then the app tries to pull updated Jump data at 22:00:00. At 22:00:00 exact, will the app get new data or cached data? I guess what I'm trying to ask is are the cachUntil timestamps inclusive or exclusive?
To be honest I don't know. But I don't think it is relevant either. Just assume it is inclusive and wait that one second.
Originally by: JuicyCakes
I also prefer to disable caching on the client side and just ask the server for updated data every hour. Is there an API call in EveAI to do that? I looked at the EveApi but couldn't find any relevant members.
In the simple mode all caching is completely transparent. In complex mode (using the *Api classes directly) you can contol memory and file based caches exactly (IgnoreMemoryCache, PersistData). |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.06.23 15:17:00 -
[127]
I still don't get where your problem is, even if you could run your application for centuries... If you want the most current data (I guess thats what you want) just update as soon as allowed. |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.07.08 20:52:00 -
[128]
EveAI Live Version 1.1.7 has been released!
Changes since last version:
- Updated the static data to Aprocrypha 1.3.1
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.7.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.07.11 16:06:00 -
[129]
I'm not sure if I understand your problem? You are missing moon data within wormholes? And in what case? When using the full EveAI.Data.zip file? Please note that this is only somewhat supported.
I just checked and it seems the data is in there. I'll upload a new version 1.3.1 for it anyways, but I somehow doubt this will solve your problem. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.07.16 22:58:00 -
[130]
Originally by: Xiola Umbar
I've now loaded all my assets for my character, and I want to compare the two, but the Product Type objects within the Data Core don't seem to have a TypeId visible, so how do I match them?
I've read through this whole thread but can't seem to find an answer - can anyone help?
Many thanks XU
Call FindProductType (typeID) on the datacore object and you will get the object you are looking for... BTW: you shouldn't need to use that. If you get a TypeID back then the resulting object should also have a Type property that directly gives you the type. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.07.31 16:24:00 -
[131]
Edited by: Amida Ta on 31/07/2009 16:27:31 Edited by: Amida Ta on 31/07/2009 16:24:25 Port 80 is HTTP. I'm pretty sure they don't block that. My assumption would be that you somehow got a wrong IP resolution or eve-central changed their IP recently and it did not yet propagate for you (should solve itself very soon in that case).
BTW: I just tested with the EveAI Testapp and for me it seems to work. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.09.04 11:41:00 -
[132]
EveAI Live Version 1.1.8 has been released!
Changes since last version:
- Updated the static data to Aprocrypha 1.5
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.8.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.09.07 07:29:00 -
[133]
EveAI Live Version 1.1.9 has been released!
Changes since last version:
- Updated market API support for Eve Metrics 2
- Some more documentation
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.9.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.09.28 00:01:00 -
[134]
Well the sample code I wrote is C# only. But on this thread there should be several small VB.Net snippets that may help you a bit. Other than that the API itself is relatively simple (just call methods on the EveApi Class). It shouldn't be very hard to figure out how to do that to VB. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.10.24 19:29:00 -
[135]
Yes. You should get the entire list. Maybe thats part of the problem here. I couldn't make up much until now, but that could be a reason. Does your application take that into consideration? Could you try to disable multi part requests and see if the problem is still there? (Just set api.IgnoreMultiPartRequests = true) _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.10.24 20:00:00 -
[136]
Edited by: Amida Ta on 24/10/2009 20:15:04 Edited by: Amida Ta on 24/10/2009 20:02:04
Originally by: Salina Simmons I told you the wrong account key in my first post. The transactions in my databse with a wrong account key always have the account key which comes after the right one. Over 90% of our transactions were booked over the account key 1002. A transaction with a wrong account key always has the account key 1003.
Could you clarify that. If the account key is 1003 is the wrong transaction then duplicated (means the same exists for 1002 and 1003) or is it just one with a wrong 1003 account key (instead of 1002). _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.10.26 11:32:00 -
[137]
Edited by: Amida Ta on 26/10/2009 11:34:56 Thanks for the info. So this means that both cases would be possible. As a workaround you could try to create a new api object for every call (use the one with the constructor that doesn't create the static data otherwise this will be extremely slow). I'm pretty sure that if there really was a problem with EveAI this would solve it.
BTW: Using TransactionID as primary database ID is risky. CCP stated a few times that there is absolutely no guarantee that TransactionIDs are unique or stay the same between multiple calls to the API. They are only guaranteed to be unique for a single retrieval. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.10.26 11:51:00 -
[138]
You might also think about using the "complex mode" API if you only need a few apis. Here is an example:
CorporationWalletTransactionApi corpWalletTransaction = new CorporationWalletTransactionApi (); corpWalletTransaction.AuthenticationData = yourAuthenticationData corpWalletTransaction.Authentication.AccountKey = CAccount.Key corpWalletTransaction.PersistData = false; // Disable creating cache files EveApiBase.UpdateResult result = corpWalletTransaction.UpdateData (UpdateCharaceristics.OnlineOnly); // This disables all caching reading which you likely won't need in your case List<TransactionEntry> TEntryList = corpWalletTransaction.Data; _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.11.03 17:10:00 -
[139]
Hi,
are you using the latest version. There were some security problems when running in limited security environments (like a webserver), however I thought I already solved them (for me the library runs fine in a security relevant mode). But I'll make some adjustments for the next version that hopefully also catches your problems so you don't need that ugly workaround anymore. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.11.05 10:53:00 -
[140]
Originally by: Kepuh Harjo
As for fixing the problem... I'm not really sure you can in my case as its a webserver issue more then your code.
Unless you can dynamically identify a working directory that the IIS user has access to, and point the cache files there rather then the standard location (which the webserver user does not have access to)
The library is (or should be) able to dynamically identify if it does not have physical drive access. In that case it disables HDD caching by default and will only do memory caching. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.11.05 11:00:00 -
[141]
EveAI Live Version 1.1.10 will very soon been released!
Changes since last version:
- Important POSSIBLE BREAKING CHANGE: The default cache directory is changed to the LocalAppData directory instead of the RoamingAppData directory! Old cache files will not be deleted automatically.
- Some internal hardening, possible fix for certain limited-trust scenarios
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.10.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.11.11 02:10:00 -
[142]
I'm not sure I understand your question. There is no direct support for creating tree lists in the library or are you looking for something else? _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.11.12 17:03:00 -
[143]
Originally by: Salina Simmons EveAI.DataCore core = new EveAI.DataCore(); EveAI.DataReader reader = new EveAI.StaticDataDataReader(core); reader.Read(EveAI.DataTypes.BasicMapData | EveAI.DataTypes.Products); EveAI.Product.ProductType Producttype = new EveAI.Product.ProductType(); Producttype = reader.Core.FindProductType(ProducttypeID);
string Product_GroupName = Producttype.MarketGroup.Name; string Product_Parentgroup = Producttype.MarketGroup.ParentGroup.Name;
I hope that is, what you are looking for.
If you are looking for that you can even get it easier:
EveApi api = new EveApi(); EveAI.DataCore core = api.EveApiCore;
_________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.11.14 00:22:00 -
[144]
Thanks for the report. Eve Central changed their response structure and did not care to modify the version number. Is already fixed for the next EveAI.Live version. If anybody needs this urgently please write and I'll release an immediate update. Otherwise will be part of the next version. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.11.14 14:57:00 -
[145]
EveAI Live Version 1.1.10c has been released!
Changes since last version:
- Added workaround for bug or unannounced change in Eve Central
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.1.10c.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.11.14 15:03:00 -
[146]
Originally by: Blue Deepocean I personally do have a completely different question: Is it possible to retrieve the age of a character through the api? I searched inside the api for two hours now an couldn't find any hint of a function like this. So i thought it would be a good idea if I asked here. Should there indeed be no such function i would be really greatful if one of the EveAI devs could implement it.
No there isn't because CCP doesn't supply that data. If you want to have it you will have to ask CCP and hope they add it to the API sometime. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.11.16 13:04:00 -
[147]
Originally by: Sidrat Flush Mr thicko here. Wouldn't mind getting into this and would love to use your library set, however....
Do they have to go somewhere special? If so where?
I'm not sure what you mean. Are you asking where you should put the library files (.dlls)? In that case there are multiple possibilies. But I would strongly suggest you just copy them to the same directory as your application. Then everything will work right out of the box and not interfere with anything else. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.11.16 21:44:00 -
[148]
Edited by: Amida Ta on 16/11/2009 22:07:43 I guess you are talking about DataCore. I'll make them available for the next version there.
BTW: If you have any ideas just write them and I may implement them if they make sense. But some things are design decisions, so I'd rather not change them (e.g. having TRUE Objects without IDs). _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.11.18 14:53:00 -
[149]
api.EveApiCore.ProductTypes.Equals("Tritanium") is surely not doing what you are trying to do. In fact it will always just return FALSE as a result.
I think you want to do: EveAI.Product.ProductType product = api.EveApiCore.ProductTypes.Find (p=>p.Name == "Tritanium"); _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.11.19 00:48:00 -
[150]
Edited by: Amida Ta on 19/11/2009 00:52:30 Oh, its an ICollection<T> that doesn't have find. (Did not test that before) Then you have to use something from ICollection<T>. First or Single seems to be what you want. http://msdn.microsoft.com/de-de/library/y2fx0ty0.aspx
EveAI.Product.ProductType product = api.EveApiCore.ProductTypes.Single (p=>p.Name == "Tritanium"); _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.11.25 18:31:00 -
[151]
EveAI Live Version 1.2 PRE1 has been released!
This is a PRERELEASE version for Dominion. It contains breaking changes and some things might not work against the current API server. This version allows planning for updates for the Eve Dominion Release, for all other cases use the last available EveAI.Live version.
There is no guarantee that there won't be other breaking changes till the 1.2release
Notable changes since last version:
Updated static Data to Eve Dominion StarbaseDetailApi: ClaimSovereignty property removed MapSovereigntyApi is renamed to SovereigntyApi MapSovereigntyEntry is renamed to SovereigntyEntry SovereigntyStatus: Completely new API SovereigntyStatusEntry: Class for SovereigntyStatus entries MailMessageApi: Completely new API MailMessage: Support class for MailMessageApi NotificationApi: Completely new API Notification: Support class for NotificationApi Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.2_Pre1.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.11.29 02:10:00 -
[152]
EveAI Live Version 1.2 PRE2 has been released!
This is a PRERELEASE version for Dominion. It contains breaking changes and some things might not work against the current API server. This version allows planning for updates for the Eve Dominion Release, for all other cases use the last available EveAI.Live version.
There is no guarantee that there won't be other breaking changes till the 1.2release
Notable changes since last version:
Activities Attribute moved from ProductType to BlueprintType. If you used that you will need to change from product.Activities to product.Blueprint.Activities
BlueprintType has lots of additional properties and methods for getting the material and base material usage (working for T1 and T2 materials) BlueprintType.WasteFactor: Now saved as decimal factor (e.g. 0.10 instead of 10) Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.2_Pre2.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.12.01 16:25:00 -
[153]
Edited by: Amida Ta on 01/12/2009 16:28:13 There is a tiny (already fixed) bug with the SovereigntyStatusApi. I will wait for DOMINION to go online before releasing another version as I currently can't seem to test the evemail and notification apis (they both work but I don't get any data back except an empty list). _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.12.03 00:31:00 -
[154]
EveAI Live Version 1.2 PRE3 has been released!
This is a PRERELEASE version for Dominion.
Notable changes since last version:
Fixed two small errors which prevented the new APIs from working correctly. Could not test the Notifications API a lot, but everything seems to work. Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.2_Pre3.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.12.11 01:11:00 -
[155]
Originally by: Al'kanree humm, i am not sure but I think that the mapsovereintystatus doesn't work
CCP disabled the mapsovereintystatus API. So it won't work any longer. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.12.11 01:21:00 -
[156]
Originally by: Cableworth Edited by: Cableworth on 10/12/2009 07:29:48 I'm fairly certain that EveAI is reporting the incorrect server status. When I run it, it returns false with 0 users while EVEMON and the server itself are reporting that it's fine.
Could it be a caching issue?
Edit: this occurs after downtime.
I just checked and everything seems to be correct. It might be that EVEMON is not using the official API (there is another way to probe for the server status).
But I'll try to find out what happenes at a downtime. BTW: Caching is set to 3 min by the server. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.12.11 01:42:00 -
[157]
Originally by: Cableworth Edit2: After further experimentation, I'm not sure whether it's something that I'm doing wrong or what, but the cache seems to work solely off the characters ID's and ignores the api key altogether. If a user submits a valid user ID yet the api key is modified slightly, EveAI will still return valid data. This is a problem since the method I'm using to verify if auth data is correct is to determine if there are any characters returned by this (any better ideas?). It's artificially creating valid entries when they should be invalid.
Here is what I'm doing:
EveApi eve = new EveApi(newUser.APIID, newUser.APIKey);
List<AccountEntry> accounts = eve.GetAccountEntries(); if (accounts.Count == 0) { //Send error }
^ This problem was resolved by comparing the API ID rather than the API Key with existing ones. Looks like your internal implementation of the cache only checks against ID's :).
Your observations are completely correct. In fact this mechanism is a protection (otherwise you would create tons of useless cache files in your case).
For your problem: 1) A far better idea would be to check if the API returned a specific error if you are looking for it. In your case it should be as simple as: if (eve.LastErrors.Contains (EveApiError.AuthenticationFailure)) // Send error
2) You will still have the problem if VALID AND UNEXPIRED=ACTIVE cache data still exists. But on the other hand I don't think in that case it's really a problem because the user will get the cached data anyways. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.12.11 15:50:00 -
[158]
Originally by: Cableworth Thanks for the feedback, I'll use that method for authentication instead. In terms of the online status, I'm stumped as to what the problem could be...how would I go about viewing the raw data from the API to make sure I'm not going mad? Also what's the way evemon uses?
The easiest way is to look at the cache files. They are just the server response with a few added xml fields. I don't know which method evemon uses. But prior to the ServerStatus API some programms basically faked being a regular game client up to the login screen which gives you the current user count. However this method is discouraged (they wanted to forbid it completely by some time) by CCP. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2009.12.11 16:01:00 -
[159]
Originally by: Evo YaMing Hi Amida, i am trying to receive EVE mail messages but the only thing i receive is a empty list.
List<MailMessage> myevemail = api.GetCharacterMailMessages();
Any idea?
You can only call the api one single time. Each following time you will only get your new mails (or you wait 6 hours, see the dev-blog for details). This is some new caching mechanism by CCP that does not (yet?) have any special support in EveAI.Live. So you have to handle that behaviour yourself. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.01.05 17:57:00 -
[160]
Edited by: Amida Ta on 05/01/2010 17:57:17 This is a problem with EveAI and has already been fixed in 1.1.10c:
Quote: ̣Added workaround for bug or unannounced change in Eve Central
_________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.01.07 10:28:00 -
[161]
Originally by: Laxxor Borocillicase
Originally by: Amida Ta
The library is (or should be) able to dynamically identify if it does not have physical drive access. In that case it disables HDD caching by default and will only do memory caching.
Should this also be the case for XBAP deployment?
Never tried for XBAP. But it seems it has no support for any reflection by default. Will try to fix that for the next version. Should not be too hard for this specific case. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.02.11 14:12:00 -
[162]
EveAI Live Version 1.2.1 has been released!
Please note here are SEVERAL breaking changes which require you to possibly change class names or add namespace declarations to your code!
Notable changes since last version:
Static Data has been updated to Dominion 1.1.1 EveAI.Core: CelestialAreas (like SolarSystem, Region and Constellation) have a new Attribute Area INSTEAD of MinLocation and MaxLocation. Also the locational attributes have been changed to float/single instead of double. So if you are using this you need to use system.Area.MinLocation instead of system.MinLocation. CelestialAreas Faction will always display a faction if available (even when inherited). Station is now in the namespace EveAI.SpaceStation instead of EveAI directly. School class has been removed. Agent related classes are in the namespace EveAI.Npc. NPC Corp related classes are in the namespace EveAI.Npc.
EveAI.Live: Research Point Status API has been added. Tax info has been added to the Character Wallet Journal Page.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.2.1.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.02.12 12:16:00 -
[163]
Edited by: Amida Ta on 12/02/2010 12:17:15
Originally by: Allan Atlantica I don't know about the rest of you, but I could use a little documentation.
Amida, how about including the test application code, as part of the project, so we could see some real examples of EveAI being used?
Thats actually what I originally wanted to do, but it currently is a test application for the api and me. The relevant code to control the api is absolutely minimal and surely not of much value for anybody. In fact it is only a few lines of code:
Quote: String[] names = Enum.GetNames (typeof (EveApiType)); Array.Sort (names); selectApi.Items.AddRange (names);
api = new EveApi ();
Quote: EveApiType typeToGet = (EveApiType)Enum.Parse (typeof (EveApiType), (String)selectApi.SelectedItem); currentObject = api.CallApi (typeToGet); propertyGrid.SelectedObject = new ObjectHolder (currentObject);
So its very heavy on reflection and not how you would usually use the api. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.02.14 12:51:00 -
[164]
There haven't been any changes with the market API, so it has to be some coincidence in slower servers if you see both with degraded performance.
There have been quite some changes to reprocessing information (as I wrote for version 1.2 Pre 2). The most important one maybe that you can now get the basic mineral reprocessing data for every item regardless if it is t1, t2 or t3. Also there are lots of additional helper properties and methods there. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.02.14 20:18:00 -
[165]
EveAI Live Version 1.2.2 has been released!
Most notable changes since last version:
EveAI.Core: Serveral (some are somewhat breaking, but usually they only break things that were broken anyways e.g. outdated static data) changes to DataCore. The static data is now much more complete. Some highlights are:
Stations now have all sorts of useful information instead of the unusable info from before. Agents, NPCCorps and Factions have lots of additional properties. Through optimization the size on disk, memory AND load times have been reduced. If you are using DataCore directly, there are now two additional load parameters NpcData and Stations to load/not load these individually.
Please note that the Universe property of the DataCore is currently wrong and will be replaced with multiple universes (there are now two) in a later version.
EveAI.Live: No changes
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.2.2.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.02.19 10:12:00 -
[166]
EveAI Live Version 1.2.3 has been released!
Most notable changes since last version:
EveAI.Core: The Universe property is now a list and contains both universes (Normal and Wormhole)
EveAI.Live: SkillInTraining has additional Properties (IsCurrentlyTraining, SkillPointsGainedPerDay and SkillPointsCurrently). SkillPointsCurrentlyEstimated is deprecated. SkillPointsGainedPerSecond and SkillPointsCurrently do now always deliver info, even for skills not currently trained.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.2.3.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.02.24 12:31:00 -
[167]
Where is your problem exactly? Here you can see a small example in C#: http://wiki.eve-id.net/EveAI
Starting should be as simple as (havent done VB in some time): Dim Api as New EveApi (99999, "dsfiosdfsd76sd89f68ds", 99999) Dim Sheet as CharacterSheet Sheet = Api.GetCharacterSheet () Console.WriteLine (Sheet.SkillpointTotal) _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.02.25 01:40:00 -
[168]
Error checking is done through api.LastUpdateResult (which will be UpdateResult.Succeded if no error occurs) or api.LastErrors which contains errors that happened during the update.
Getting the characters is done by calling api.GetAccountEntries _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.02.25 16:45:00 -
[169]
Originally by: MearWolf I think this might be the problem
Warning1The referenced assembly "EveAI.Core" could not be resolved because it has a dependency on "System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which is not in the currently targeted framework ".NETFramework,Version=v4.0,Profile=Client".EVE SecuriCheck
Warning2The referenced assembly "EveAI.Live" could not be resolved because it has a dependency on "System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which is not in the currently targeted framework ".NETFramework,Version=v4.0,Profile=Client".EVE SecuriCheck
I'm running Windows 7 Ultimate with Visual Studio 2010 if that's any help
This is obviously the problem. I will look into that (in fact I can pretty much guess where the problem is). Meanwhile I'm pretty sure you get it to work by targeting the 4.0 full Profile and not the 4.0 Client only Profile.
But I'll see if that can be solved so it also works with Client-Profile only. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.02.25 18:24:00 -
[170]
EveAI Live Version 1.2.4 has been released!
- Works fully for developing against .Net 4.0 Client Profile.
- Some enhancements to loading data in EveAI.Core.
- Contains a new library called EveAI.ComponentModel.dll that allows to get full functionallity for components (PropertyGrid), but does not need to be shipped if you are not using PropertyGrid in your application. If you want to use it simply reference it in your project anything else happenes automatically.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.2.4.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.02.25 18:34:00 -
[171]
Originally by: MearWolf so how would I target the 4.0 full profile?
Right-click on the Project and select Properties. There you will find a list where you can select the target Framework. But I just released a new version that will also work against 4.0 and 3.5 Client only profile. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.01 14:46:00 -
[172]
Just use api.GetAccountEntries () that will give you a list of AccountEntry Objects. And entry.CharacterID is obviously the character ID. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.03 09:42:00 -
[173]
Well I'm not particulary good in VB. But shouldn't it just be something like:
For Each entry In api.GetAccountEntries MsgBox("CharacterID: " + entry.CharacterID) Next
_________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.03 15:27:00 -
[174]
Edited by: Amida Ta on 03/03/2010 15:27:30 I'm pretty sure you can't just put the api object into the settings object and then have it automatically save just anything you want. Saving is somewhat non-trivial. But on the other hand I don't think you need saving at all. EveAI implements all caching and saving for you. If you need the data just call EveAI and it will deliver it...
P.S. And IF you really want to save yourself then you should try to save the concrete data objects (e.g. AccountEntry objects) but not the api class itself. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.06 09:23:00 -
[175]
You are not calling the api at all here. Just replace
Originally by: MearWolf
Dim servstat As New ServerStatus()
with Dim servstat As ServerStatus = api.GetServerStatus and it should work. (of course you need the api object again, but you have used that in the other code samples, too). _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.13 15:15:00 -
[176]
Originally by: Dwayne Pipe
EveAI.Map.SolarSystem solarSystem1 = api.EveApiCore.FindSolarSystem(ID1); EveAI.Map.SolarSystem solarSystem2 = api.EveApiCore.FindSolarSystem(ID2); ...
Thanks!
There is no built-in functionallity for that. But a SolarSystem has a Jumps property that lists all jumps to other systems. Based on that you can use a simple search algorithm (e.g. A*) to find a way to another system. I've done something like that before, but it's not part of the library (I't old, please don't ask questions on that one ;): public List<SolarSystem> FindRoute (SolarSystem start, SolarSystem end) { Dictionary<SolarSystem, SolarSystem> wayData = new Dictionary<SolarSystem, SolarSystem> (); Queue<SolarSystem> openRoute = new Queue<SolarSystem> ();
wayData[start] = start; openRoute.Enqueue (start);
while (openRoute.Count > 0) { SolarSystem current = openRoute.Dequeue (); if (current == end) { List<SolarSystem> way = new List<SolarSystem> (); while (current != start) { way.Add (current); current = wayData[current]; } way.Add (start); way.Reverse (); return way; }
foreach (SolarSystem system in current.Jumps) { if (wayData[system] != null) continue; wayData[system] = current; openRoute.Enqueue (system); } } return null; } _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.13 15:35:00 -
[177]
Originally by: TradingWithYou Edited by: TradingWithYou on 12/03/2010 18:25:19 Hi,
I'm using EveAI.Live version 1.2.3 and i'm having an error with "TimeRequiredForNextLevel". I think the field in question is not correctly populated but i'm not sure.
+TimeRequiredForNextLevel'(new system.Collections.Generic.Mscorlib_CollectionDebugView<EveAI.Live.Character.CharacterSheet.LearnedSkill>(capsulerSheet.Skills)).Items[0].TimeRequiredForNextLevel' threw an exception of type 'System.OverflowException'System.TimeSpan {System.OverflowException}
I've got no clue of what failes here. Might be in conjunction with that Mscorlib_CollectionDebugView you are using? _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.13 16:34:00 -
[178]
Originally by: Jognu I don't know if someone already ask this, but is there a way to force the cache to be updated ? Because when I use the GetCorporationAssets, the XML file of the cache (in AppData) is not updated. Thanks
The CCP servers only allow you to get the data once in a while. It is not possible to circumvent that (or force it). Neither with EveAI.Live nor with any other means.
In complex mode you can use UpdateCharacteristics.OnlineOnly to force calling the CCP apis. But that will only result in either errors or old data from the server. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.13 19:19:00 -
[179]
EveAI Live Version 1.2.4b has been released!
- Some small enhancements and fixes.
- EveAI.ComponentModel.dll has been renamed to EveAI.Design to make the intended (design time) use more clear.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.2.4b.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.13 19:24:00 -
[180]
Originally by: TradingWithYou
Here's the screenshot of the error I get (sorry for the french text )
Could you try the new version? I think I might have introduced a small bug that led to this before. Is it possible that you don't have the learning (percentage) skill on the character that you inspected at all? _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.13 20:28:00 -
[181]
LastUpdateTime if called directly after the api call will (or should ;) give you the last time the update happened (in local system time). _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.13 23:00:00 -
[182]
Originally by: Jognu
Originally by: Amida Ta LastUpdateTime if called directly after the api call will (or should ;) give you the last time the update happened (in local system time).
Ok. But is it normal that when I call the api it does not update the corporation assets list ? Only Industry Job etc ?
You can look at LastQueryCachedUntil to find out till when the cache will be active. Only after the cache period is over you will get new data. The cache period depends a) on when you made the last successful! call and b) on which api you call (different apis have different cache times). Assets list and industry job apis have different cache durations. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.17 22:35:00 -
[183]
Originally by: TradingWithYou I think I'm having issues with the cache. FYI, I am using the simple mode api.
I extract the skill in training using .GetCharacterSkillInTraining() but the information I get out of .SkillPointsCurrent and .SkillPointsCurrent.TrainingDuration.Days are dating from a sometime already.
I've done some testing and also found some strange cases (worked most of the time but sometimes I got strange results). After more testing it seems that in that case the server actually delivers wrong or dubious values. I might be able to work around some, but I don't think it will work for all the small issues I've seen.
P.S. TrainingDuration is the total training time, not the remaining time. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.18 11:05:00 -
[184]
Originally by: Tiradem I m having trouble understanding EveAI.Live.Corporation, Any data I pull from it will not update when I switch character profiles.
If you are using the simple mode I strongly recommend to use a new EveApi object for each new character profile (make sure to only create the static data once or this will be slow).
If you want to check for hundereds or thousands of profiles I suggest looking into the advanced mode. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.18 13:56:00 -
[185]
EveApi api = new EveApi(); EveAI.DataCore core = api.EveApiCore;
EveApi api2 = new EveApi(false); api2.EveApiCore = core; |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.18 20:51:00 -
[186]
Edited by: Amida Ta on 18/03/2010 20:52:55 Edited by: Amida Ta on 18/03/2010 20:52:17
Originally by: Tiradem
Originally by: Amida Ta EveApi api = new EveApi(); EveAI.DataCore core = api.EveApiCore;
EveApi api2 = new EveApi(false); api2.EveApiCore = core;
Sorry, I dont understand... What does the DataCore do? what is the (false) for? Can someone explain this a little bit?
The false is for the parameter "autoCreateDataCore" and setting it to false means that the DataCore isn't automatically created (The documentation says: "Controls the creation of default static Eve data."). DataCore itself is an object that holds the important parts of the EVE static data (the data that CCP releases as SQL-Database) and is used to automatically give you rich information for your API calls that contains much more information than the CCP online API does actually deliver. |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.20 17:25:00 -
[187]
Edited by: Amida Ta on 20/03/2010 17:26:57 I guess your problem is that you aready get the list with EveHQ. ("I can even see them in EVE HQ") You can only retrieve the list once. If you retrieve it with EveHQ you cannot again retrieve it with EveAI until the cache time is over (and vice versa). You would need to use an API proxy (if EveHQ supports that).
To test that you can check the errors (you can use the test application to easily do that). _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.21 17:54:00 -
[188]
Hi,
adding that would quite a bit of work and I don't need them myself at all. But for a moderate ISK donation I think I could add them *g*
Greetings _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.26 15:15:00 -
[189]
reader.Read(EveAI.DataTypes.Products); Will only read product types. However later you try to get region data with dataCore.FindRegion(regionID); which should then return null. So you likely call eve central with null as region. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.27 16:54:00 -
[190]
Edited by: Amida Ta on 27/03/2010 16:54:42 Your handling for DataCore is still incorrect. You should only have ONE DataCore and not mulitiples. In your concrete case the problem is that the DataCore you create for the region data is not associated to the MarketAPI.
Solving your problem is simple (this will also make your code faster and save memory): readerPro.Read (EveAI.DataTypes.Products | EveAI.DataTypes.BasicMapData); This reads both into a single DataCore. Then throw out your entire second datacore creation/loading/usage. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.03.30 14:43:00 -
[191]
Originally by: Captain Nomad For what is worth it, the function GetProductStatistics() for Eve Central is broken when used with a given ProductType and a single Region, returns all 0. It works without specified Region. Other than that looks like a great library, thanks for posting it.
Works for me and others. Maybe you have the same problem as Evo YaMing had some posts above? _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.04.10 11:32:00 -
[192]
Edited by: Amida Ta on 10/04/2010 11:33:18
Originally by: Burnmate if i try to get the CorporationStarbaseDetail i get this error ErrorFromOnlineUserInputInvalid
is normal?
This is normal if you didn't supply a correct StarbaseID (if you are using the Test application you can find it under Advanced->Authentication) or you don't have the neccessary rights in your cooperation. If you look at the errors list it will contain the exact reason (like InputInvalidItemID) _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.04.12 11:29:00 -
[193]
Edited by: Amida Ta on 12/04/2010 11:29:39 Answers inline
Originally by: Suratra
- where can i get the correct information about Wastage, ME and PE of an invented T2 BPC? I always get the results like a standart ME -4
Could you give an example? And what did you expect?
- is there any way to get a update more often than 24 hours for Corporation Assets?
No, thats a limit of the CCP APIs, not of EveAI.Live
- when i do an "advanced" call, does a changed Updatemechanism also changed for "simple" call?
Yes, both will use the same disk cache (unless you would change it). However memory-cache would not work when mixing both variants.
- can i change the location where the cache in saved on Harddisk?
EveApiBase.Configuration.BaseDirectory However I would strongly advice against changing it because it means if you use several applications using EveAI.Live they will get incorrect cache data or will not be able to get data at all.
- how can i clean the cache from code? Ok, i can unload eveai, delete the files, and reload, but i like to force an online update in simple mode.
You cannot force an online update. The update times are enforced by the CCP API. If you delete the cache files you CAN get EveAI to recall the CCP APIs but the CCP APIs will either return OLD data (the same data you already had cached) or they will just return an error. So doing what you are trying to do is utterly useless.
Thanks for answering, Suratra
_________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.04.15 11:02:00 -
[194]
Edited by: Amida Ta on 15/04/2010 11:06:31 EveAI Live Version 1.2.5 has been released!
- Some small enhancements and fixes and a little bit more documentation.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.2.5.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.04.22 16:22:00 -
[195]
Can you try http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.2.5b.zip and tell me if it works correctly now? _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.04.23 13:20:00 -
[196]
Edited by: Amida Ta on 23/04/2010 13:21:32 The fix is very simple. Change
Originally by: MearWolf
If corporationsheet2.Alliance.AllianceID <> 0 Then
into
Quote: If corporationsheet2.Alliance = NULL Then
_________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.04.29 11:14:00 -
[197]
Originally by: Krathos Morpheus
How do I use api.GetCharacterAccountBalance? Given an api that specifies the characterID, how do I retrieve the balance from that character? It looks like it contains a collection of items accesible only by index.
Either you do as MearWolf suggested or you can just take the first (and only) element of the collection. The reason this is a collection is so that it is compatible with GetCorporateAccountBalace, where you have more than one account. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.05.01 10:12:00 -
[198]
The libaray documentation is in .Net XMLDoc format and included in the download (EveAI.Live.xml). If you add the library to your development environment it should automatically pick the library up (make sure the xml file is in the same directory as the dll) and display help for you. If you don't use an IDE (you really should use one) you will have to use a tool to convert the XML file into something human-readable (webpages or a windows help file or something like that).
BTW: An development environment will show the return type even without any documentation present because no documentation is needed for that. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.05.06 12:20:00 -
[199]
Originally by: Utomin
Really trying to take it down to basics here: Linkage
Your code is perfectly fine. The only problem is the missing CharacterID (it needs to be the characterID that CCP set for your character. You can either get it with the account API or you can look here in the forum at the pictures links: http://www.eveonline.com/ingameboard.asp?a=bigshot&cid=484361100 is that for you. So your characerID for Utomin is 484361100. Enter that and your code should work. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.05.09 21:23:00 -
[200]
span style= font-size:7pt i Edited by: Amida Ta on 09/05/2010 21:23:28 /i /span br BLOCKQUOTE font class=quote size=9px face= Verdana img src= /images/icon_quote_message.gif border= 0 b Originally by: /b i cinderbrood /i hr height=1 noshade br Anyone else having issues using this with Linq? br br trying to build a list of item ids based upon a marketgroup br br BLOCKQUOTE font class=quote size=9px face= Verdana img src= /images/icon_quote_message.gif border= 0 b Quote: /b hr height=1 noshade List< int> MarketIDs = new List< int> () br string SelectedItem = Request.Params[ MarketGroup; // "Frigates"
List<ProductType> Temp = (from iType in API.EveApiCore.ProductTypes where iType.MarketGroup.Name != null && iType.MarketGroup.Name == SelectedItem select iType).ToList(); foreach (ProductType T in Temp) { MarketIDs.Add(API.EveApiCore.GetIdForObject(T)); }
Its giving me a null reference exception on the iType.MarketGroup.Name == SelectedItem, Complaining that iType.MarketGroup is null.
Is there some weird lazy loading system that i happen to not know about? And can i disable it if so, Otherwise any ideas?
No, there isn't. But there are products that are not available in the market and therefore do not have any MarketGroup. So you would have to check: where iType.MarketGroup != null _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.05.16 00:59:00 -
[201]
Hmm. Works for me and likely most others, too (or I'd expect a lot more posts).
Is it possible that your System clock is going seriously wrong? _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.05.16 21:43:00 -
[202]
I also already added a sanity check that will prevent the exception for the next version of EveAI.Live. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.05.19 14:45:00 -
[203]
Edited by: Amida Ta on 19/05/2010 14:46:09 No, I don't have any special "Powered by" Logo. But feel free to use the graphic from http://wiki.eve-id.net/EveAI and use it for that reason. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.05.22 10:27:00 -
[204]
No there aren't any (usable) build in ways to retrieve objects from their names. For most cases you don't need that anyways. You either use the references to the objects directly or have IDs (when getting stuff from eve directly).
If you take into consideration that there are LOTS of different use cases (would you like to get an exact text match, a case-insensitive one, an partial matching at beginning one, at end, want to find similar text, contained words and so on) there is not really a way to provide that functionallity either.
And if you only have user input using Linq should be perfectly fine speed-wise. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.05.26 23:32:00 -
[205]
Edited by: Amida Ta on 26/05/2010 23:32:38 EveAI Live Version 1.3.0 Pre1 has been released! This is a prerelease version that hasn't been tested as much as normal versions. Cachfiles from previous versions will be invalidated automatically.
- Updated static data to Tyrannis.
- Fully supports new Image Service using the static ImageServer class (Supporting Char, Corp and Alliance Images). The old image server class has been deprecated.
- Supports the new Tyrannis APIs. The Apis for outposts are only partially complete until somebody mails me some cachefiles from any of the outpost apis.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.3_Pre1.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.05.27 09:35:00 -
[206]
What i forgot: To use some of the new APIs in the Test application you have to set additional data through the Authentication object by clicking on Advanced... This is true for EventAttendees (which requires a valid eventID) OutpostServices (which requires a valid outpostID - but will not work anyways until somebody sends me a cachefile) StationDetails (which requires a valid stationID) _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.05.28 12:22:00 -
[207]
Yes, these are the right APIs. Please note that they are not CCP-APIs but provided by other players. So if you want to retrieve them periodically please inform you on their homepages how often they allow it.
And to your question: Where is your problem using them? For the most easy case just supply a productType and then call the method. e.g. (C#): ProductType type = dataCore.FindProductType (21); double value = marketApi.GetProductStatistics (type).ProductValue; _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.05.29 13:09:00 -
[208]
Originally by: Simon Angle
i have some troubles retrieving material quantity/type data for BP manufacturing. I also didn't understand how to use EveAI.data.zip to retrieve static data. Someone could please post a VB example?
First: You don't need the EveAI.Data.zip. All static data (except the Celestial stuff) is already included in the API. Second: You get the material from productType.CorrespondingBlueprint.Blueprint.ManufacturingBaseMaterials and ...ManufacturingAdvancedMaterials
BTW: The easiest way to see which data is available start the api test application, click on Advanced and there select the EveApiCore node. That lets you browse all the built-in static data. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.06.03 19:07:00 -
[209]
EveAI Live Version 1.3.0 has been released!
- Updated static data to Tyrannis 1.0.1.
- Support static planetary data (Schematics).
- Bugfixes for the Tyrannis APIs. The Apis for outposts are only partially complete until somebody mails me some cachefiles from any of the outpost apis.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.3.0.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.06.05 09:01:00 -
[210]
You set the EventID in the Authentication object. However you are absolutely right that it would be more intuitive to have a method overload for supplying the parameter in the simple-mode api. I think I will add overloaded methods for all of the relevant apis in the next version. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.06.08 15:05:00 -
[211]
EveAI Live Version 1.3.1 has been released!
- Added (hopefuly intuitive) overloads for APIs that take additional parameter.
- Fixed bug with Important always being false for the CalendarItems.
- Some general improvements.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.3.1.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.06.11 09:36:00 -
[212]
Originally by: Krathos Morpheus Edited by: Krathos Morpheus on 11/06/2010 05:55:31
Is this a bug? I think this bug probably comes from ccp's data, but I want to be sure. At least one member of the schematic collection does not match it's name with the output product name:
Schematic name is High-Tech Transmitter; output product name is High-Tech Transmitters.
edit: I've found two others: Ukomi Super Conductor/s, Transcranial Microcontroller/s
Well I wouldn't say it's a bug. Just inconsistent naming on CCPs side. But if you try to do item-matching by comparing names you are doing something wrong anyways. If you want to find out about the product from a PI schematic use the Output property from the Schematic. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.06.13 07:32:00 -
[213]
Just make me an offer or send a donation ingame to my char ;) _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.06.13 16:55:00 -
[214]
Edited by: Amida Ta on 13/06/2010 16:56:12 EveAI Live Version 1.3.2 has been released!
- Added item attributes static data.
- Added meta-related static data.
- Please note that this data does not get loaded by default when used with EveAI.Live but has to be loaded manually by passing DataTypes.ProductAttributes to the StaticDataDataReader or doing a full load.
- Please also note that the Test application DOES load that data (can be seen when clicking on Advanced).
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.3.2.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.06.13 20:24:00 -
[215]
Originally by: Shaul Amaninatis Hm,
the test tool works just like you describe, but the EveApiCore in my project neither contains AttributeTypes nor Schematics (I use simple mode).
Also when I check the informations of the DLLs with the file explorer, the EveAI.Live.dll still has version 1.3.0.0.
Is there still an older version of the DLL in the ZIP file?
No, the dll is the right one. But as I wrote you need to manually specify what data you want to load as I do not load that data by default (because it is not needed by EveAI.Live). In C#:
DataCore core = new DataCore (); DataReader reader = new StaticDataDataReader (core); reader.Read (DataTypes.BasicMapData | DataTypes.Products | DataTypes.Agents | DataTypes.Stations | DataTypes.NpcData | DataTypes.Names | DataTypes.Planetary | DataTypes.ProductAttributes); api = new EveApi (false); api.EveApiCore = core; _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.06.18 15:19:00 -
[216]
Originally by: Krathos Morpheus
Thanks. Edit: I think I've found the mistake, I think I shouldn't use And on the reader, but I don't know yet which operator I need to use.
You need to use the Or operator. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.06.19 01:02:00 -
[217]
Originally by: Morigan Macha Edited by: Morigan Macha on 18/06/2010 23:39:14 Edited by: Morigan Macha on 18/06/2010 23:10:14
If apiNew.LastUpdateResult = EveAI.Live.EveApiBase.UpdateResult.Error Then 'check for conection errors
thank you very much this helps much, to prevent user input errors!
an Auth Error is this:
// Zusammenfassung: // There was an internal error in the Eve online server. ErrorFromOnlineInternalServerError = 4,
this is a bug in the API i think, in the enum is this for account errors:
// Zusammenfassung: // The user could not be authenticated online with the given api key, userid // and accountid. ErrorFromOnlineAuthenticationFailed = 3,
best regards
If you want exact errors from the API you need to check the LastErrors properties. This contains the exact errors that happened when making the call (in your case e.g. AuthenticationFailure). So you would check if the List contains an AuthenticationFailure and if it does you know the userid or key were wrong. You can use the testapp to see it in action (it will list the errors on the bottom) _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.06.21 11:45:00 -
[218]
Originally by: Krathos Morpheus
Originally by: Amida Ta
Originally by: Krathos Morpheus
Thanks. Edit: I think I've found the mistake, I think I shouldn't use And on the reader, but I don't know yet which operator I need to use.
You need to use the Or operator.
Yep, I found it out already. Thanks. What about simulated prices from eveMetrics? Are they missing from the api or I'm dumb enough to not see them?
No, they are not supported as I generally try to support a common subset between Eve Central and Eve Metrics. But if you need them I might add them. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.06.28 15:23:00 -
[219]
Originally by: Ischtar Grey where do i find the static data zip file for Tyrannis 1.0.1? anyone got a link for me?
at http://eve-files.com/media/corp/Foxfire/ there is only an version from march available
thx
I'm uploading a new version for the full data file right now. Should be available in 20 min. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.06.28 15:41:00 -
[220]
Originally by: Truelle
Originally by: Truelle Edited by: Truelle on 19/06/2010 11:46:57 Edited by: Truelle on 19/06/2010 00:43:00 Hi,
When I would return the online timestamp for some POSes, I noticed that these timestamp were completely different on TQ. How to return the real timers with a sovereignty level 5 and a faction CT ?
Apparently, values in api.GetCorporationStarbaseDetails(controlTower).RequiredFuel => Quantity are wrong, I think based on classic CT in any case.
Still no answer for my problem ? I need correct values for fuel requirements and timestamp for PossibleOnlineTime also. Thanks.
I don't think that the library currently takes ANY sovereignty level (or anything similar) into account. But I have neither the time, nor any starbases to test this things currently. So if you need that soon I'd recommend you do the calculations yourself. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.06.28 16:08:00 -
[221]
Originally by: Shaul Amaninatis Hello AmidaTa,
I was fideling around with copy time calculations when I found the following:
- In the static data the ResearchCopyTime of the 125mm Gatling AutoCannon I Blueprint is set to 03:20:00.
- But when I lookup the Blueprint in Eve it tells me: 06:40:00
I checked several Blueprints and all had just half of the ResearchCopyTime as ingame.
What is the explanation for this behaviour? Am I missing something with the Copy Time calculation formula? Or is this a nasty little bug?
Thank you.
This is the data as it is available in the static data dump. Note that this is the amount of time taken to copy a number of runs equal to half the maxProductionLimit, whether as multiple runs on one copy or as one run each on multiple copies. It might be clearrer to not use the data-dump value but show the ingame one. However I fear that some apps might break as they were already aware of the situation. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.07.13 07:16:00 -
[222]
Originally by: Krathos Morpheus I have a problem trying to get an icon. The Graphic object I get is empty (Nothing), while the type(mat1) is good and the program stops at that line, any ideas on what's wrong? Thanks.
I think the schematics don't have graphics defined in the static data dump. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.08.10 13:34:00 -
[223]
Eve Central only has statistics for regions, not for individual systems. So this is impossible with the statistics api. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.09.01 18:06:00 -
[224]
EveAI Live Version 1.3.3 has been released! This version is partly not tested as much as I usually do. Please report if you find any errors.
- Updated static data to Tyrannis 1.04.
- Several data structure changes that result in breaking changes for the core data model (please have a look at the data changes introducing Icons instead of Graphics only).
- Several bugfixes and enhancements.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.3.3.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.09.01 22:26:00 -
[225]
Edited by: Amida Ta on 01/09/2010 22:27:30
Originally by: John'eh When will the source code for this be released?
I love the idea of this, but I'm told it has security issues and we want to do an audit.
Wow. Does that start again now? You were already proven a liar 10 pages and years back. AND you were told by a CCP dev to not derail and/or troll on this thread again and you are still doing it? You sure are looking for a permaban, are you? _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.09.03 11:33:00 -
[226]
I have absolutely no interest in starting arguing with somebody whose every second sentence is a plain lie. And although your current lies are not nearly as grave and stupid (aka not as easily falsable as your first ones one year ago) I'm pretty sure that this sentence of you "I love the idea of this, but I'm told it has security issues and we want to do an audit." at least contains two more lies.
If you are interested in the applications security go ahead and use an inspection/reflection tool to look at it. I always allowed and even encouraged that for EveAI. And nobody who did ever found anything to complain against. IF you had ANY knowledge of doing things like that (or interest in doing) it wouldn't take you longer than 30 seconds to do so.
I warned you and I am going to start a petition asking for a ban or permanent ban. Unfortunatelly I have the feeling this is the only possible way of stopping you from spreading further lies and wrongly accusing people of commiting crimes (obviously you not only do this for EveAI but also for various other software projects).
Originally by: John'eh May I ask at least why you dont release source? There is clearly an interest in it.
Sure you may. And the reason is simple: It's you! I wouldn't want to donate my code to everybody if even people like you can simply take and use it for whatever they want. It would make me sick if people spreading lies, fud and threatening others would actually gain anything from their doings. If you wouldn't have been it would likely already be open source by now. I couldn't even rule you out in a special licence because I obviously don't even know your real name. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.11.17 00:50:00 -
[227]
EveAI Live Version 1.3.4 has been released! Please report if you find any errors.
- Added the new AccountStatus and MailBody API.
- Added some Properties that are new for the APIs (like character birth).
- Changed processing for APIs that were changed by CCP (most notably the Standings API). The API tries to stay as compatible as possible. Fields that are now meaningless are marked as Obsolete.
- Several bugfixes and enhancements.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.3.4.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.11.17 00:59:00 -
[228]
Originally by: Cibeureum I think I've found a bug...
I'm trying to get Industry jobs and the corp version always seems to fail with the following error (vb.net): Run-time exception thrown : System.OverflowException - Value was either too large or too small for an Int32. As a note, after these errors, i went to the ccp api webpage and put in the same api authentication info and it was able to retrieve the corp industry jobs.
http://api.eveonline.com//corp/IndustryJobs.xml.aspx?userID=xxxx&apikey=xxxxx&characterID=xxxx
Without even having a stacktrace I cannot locate the error (and I cannot reproduce it myself). If you want to help me retrieve the xml file as you already did and find out which of the xml entities have a size that would not fit into an Int32 (which ones are bigger than 2147483648). _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.11.18 13:09:00 -
[229]
Edited by: Amida Ta on 18/11/2010 13:10:24 EveAI Live Version 1.3.5 has been released! Please report if you find any errors.
- Added the new CharacterInfo API. (Please note that full/low key share one cache strategy)
- Fixed the overflows reported by Cibeureum. Thanks for helping!. Please note that the fix is potentially binary breaking the API!
- Fixed a stupid bug parsing the RoleIDs in the CharacterSheet as reported by Modescond.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.3.5.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.11.21 14:59:00 -
[230]
Originally by: Khepry Kah'ne Is there any documentation available? I use VS2010
The download comes together with Documentatio in XMLDoc format. If you use Visual Studio you can use the Object Browser to browse through the API and it's documentation. You can use a third party tool to convert the XMLDoc to whatever you like.
Some basic info is also available on Eve-Dev. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.11.30 16:56:00 -
[231]
Originally by: Modescond StarbaseListApi references ItemID with a Int32.
LocationID and TypeID are also 32, however, i don't think they're causing a failure.
(Found with a newly anchored POS).
I've asked before, but heard nothing, CorporationSheet allows no API key. Is it possible to implement this?
Thanks for the ItemID report. I'll change this to Int64 for the next version. CCP said LocationID ist save to be 32bit and TypeID is 32bit anyways.
I'm unsure about your CorporationSheet problem. It should allow to use an API key. Could you please describe your problem in more detail? _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.12.01 10:21:00 -
[232]
Originally by: Modescond CorporationSheet as it is implemented in EveAI requires an APIKey, however, CCP does not require this. I tried calling it with a NULL AuthenticationData, but it fails as this object is required. This is critical as i simply have a list of CorporationIDs, but no matching keys. (Providing a KEY returns YOUR corp info only).
Thanks,
What was the result when supplying your (aka your personal) authentication data AND specifying a (foreign) CorpID? I tried that a while ago and it seemed to work. But maybe they changed that. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.12.01 10:25:00 -
[233]
Originally by: Nac MacFeegle Edit 2: Weird. No matter what Read() I try, it chokes on ReadFactions(), as I stated before. "reader.Read(DataTypes.Celestials);" yields the same result as I put in my earlier edit.
Hi,
I haven't updated the big data set in a long time (nearly half a year now). It likely contains some structural problems from the changes CCP made. Will update it together with the new static data as soon as CCP releases that. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2010.12.09 16:59:00 -
[234]
EveAI Live Version 1.4.0 has been released! Anybody who reported error please test if this error still exist.
- Updated static data to Incursion 1.0
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.4.0.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2011.01.31 00:37:00 -
[235]
Originally by: Zeta Zhul Spent some more time tracking this issue down in EveAI and the api. Turns out the problem isn't precisely in CharacterSheet api. It is in the SkillTree api call.
Basically if you have the SkillTreeApi.xml file in your EveAI cache then the CharacterSheetApi call will work fine. If you do not, then the call will fail because for some reason the EveAI library cannot download a new copy through the api. What a pain in the rear end.
Thanks for reporting the problem. In fact the real problem I found out was some stuipid behavior of the eve api server. It sets the caching time for the skilltree to 10!! years!. So basically EveAI would get the Skilltree only once in a lifetime. I have changed that for the next version so that EveAI will ignore any caching times bigger than one day. It will also invalidate existing cachefiles with that problem. BTW: I also added the missing IsPublished property and made the parsing more robust. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2011.01.31 01:59:00 -
[236]
Originally by: Modescond 1) Please add support for AccountStatus.Offers 2) This only affects developers, but the StandingApi you have marked as deprecated, it is not. CCP removed half of the functionality and put it into contacts. The Standing API is the only method you can use to get the standings NPC corporations have TO you.
1) Added this for the next version (though completely untested) 2) I only obsoeted things that REALLY are obsolete. The API itself is fine to use. If you think some property is wrongly obsoleted please specify which. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2011.01.31 02:01:00 -
[237]
Originally by: Modescond 1) This changes the StarbaseApi ItemID to a Int64, however, AuthenticationData.StarbaseID is an Int32. 2) Please update the version numbers in your DLLs. Those of us that bundle this inside an MSI package rely on these updating so that our end users can receive the appropriate updates. Core still shows 2.0, Live shows 1.3 (and have for several consecutive versions now).
1) Fixed for next version 2) Updated for next version. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2011.01.31 21:38:00 -
[238]
Edited by: Amida Ta on 31/01/2011 21:43:46 EveAI Live Version 1.5.0a has been released! It's a somewhat larger release with lots of different changes. Please test. As far as I know and have tested everything should work right now.
- EveAI now defaults to using HTTPS for the Live server as suggested by CCP. There is a fallbackoption for HTTP. Strangely enough CCP did not activate HTTPS for the testserver so everything there stays as it was.
- Updated static data to Incursion 1.1
- Lots of small fixes and workarounds for things where CCP f**** up lately (like the 10 year cache timer).
- Some additons (see thread)
- Cache file version has been changed to fix one of CCP f**** ups, aka cache files will be invalidated.
Here is the new version: http://dl.eve-files.com/media/corp/Foxfire/EveAI_Live_1.5.0a.zip _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2011.02.03 11:23:00 -
[239]
Originally by: Tosana Please confirm it's using https? My web filter is blocking http://api.eve-online.com but https works fine. EveAI calls time out not receiving a reply so I started suspecting it's still on http.
Well it should be unless you have it configured to use HTTP (by setting EveApi.Server = ApiServer.LiveNoHttps) or you have a proxy configured to reroute that. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2011.03.15 16:42:00 -
[240]
Originally by: Tosana I may have found a couple problems. Corporation member security API doesn't load Corp members but instead uses the rowset header as a record. No errors, just a member called "members" with no roles in the output. Corporation member security log API doesn't capture old or new roles.
Thanks for reporting. Both problems are fixed for the next version. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2011.03.15 16:45:00 -
[241]
Originally by: Hedge Tails Edited by: Hedge Tails on 07/03/2011 12:34:51 Edited by: Hedge Tails on 07/03/2011 12:33:51 The call: Starbase pos = ea.GetCorporationStarbaseDetail(starbaseid);
expects "starbaseid" to be an int. This should be a long, as newly anchored posses have id's that won't fit in an int..
Workaround: Set the id inside the Authentication property, and call without id:
ea.Authentication.StarbaseID = (long)1001348734767123948; Starbase pos = ea.GetCorporationStarbaseDetail();
Thanks for the report. Will change that to long for the next version. _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2011.03.15 16:58:00 -
[242]
Originally by: Sylas Saken Is there anyway you could offload the requests to a thread other than the UI thread? It causes the test app to appear to lock up as it is trying to get information. If you need help with it, I can show you how it is done. It shouldn't take more than an hour to fix.
I'm not sure I understand you.
EveAI is mostly thread-save (manual configuration with EveApiConfiguration is not, but after your are done it should be). So you can use as much threading as you need (e.g. to keep your UI responsive while EveAI is downloading/parsing data).
The test app does not use any multithreading because well it's an test app. I don't really care if the UI hangs for a few seconds and it's for testing things (which gets more complicated if threading is involved). _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |

Amida Ta
German Mining and Manufacture Corp.
|
Posted - 2011.03.15 17:13:00 -
[243]
Edited by: Amida Ta on 15/03/2011 17:14:32
Originally by: Paihn Hi. I'm allso Noob lvl 1, and am in the process of learning C#. I thought EveAI LIve might be a nice way to make it more fun. :)
I was just wondering if the test.exe file is allso one of the things there will not be a source-code for?
(Since I'm so noob, it just might be actually what people are asking for earlier, but hopefully that's just he dlls that wount be released. :) ) I apologize if I'm mistaken.
-Paihn
The test application is inteded to test stuff, not to serve as a best practice example. Most things in there wouldn't be done that way in a "real" application. Moreover its extremely short and simple code. It's not much more than that:
EveApi api;
public TestForm () { InitializeComponent ();
String[] names = Enum.GetNames (typeof (EveApiType)); Array.Sort (names); selectApi.Items.AddRange (names);
api = new EveApi (); ...
private void selectApi_SelectedIndexChanged (object sender, EventArgs e) { EveApiType typeToGet = (EveApiType)Enum.Parse (typeof (EveApiType), (String)selectApi.SelectedItem); currentObject = api.CallApi (typeToGet);
propertyGrid.SelectedObject = new ObjectHolder (currentObject); ... _________________________ EveAI.Live - The EVE-Online API/class library for .Net, C# and VB.Net |
|
|